elena1234

MirrorWord-with Char[] and Reverse()

Dec 7th, 2020 (edited)
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.79 KB | None | 0 0
  1. using System;
  2. using System.Text.RegularExpressions;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5.  
  6. namespace MirrorWord
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)      
  11.         {
  12.             string input = Console.ReadLine();
  13.             var list = new List<string>();
  14.             Regex regexForWords = new Regex(@"(#|@)(?'first'[a-zA-Z]{3,})\1\1(?'second'[a-zA-Z]{3,})\1");
  15.             MatchCollection matchesForWord = regexForWords.Matches(input);
  16.             if (regexForWords.IsMatch(input))
  17.             {
  18.                 foreach (Match match in matchesForWord)
  19.                 {
  20.                     string firstWord = match.Groups["first"].Value;
  21.                     string secondWord = match.Groups["second"].Value;                  
  22.                     char[] reverse= secondWord.Reverse().ToArray(); //char Array
  23.                     string reverseSecondWord = string.Join("", reverse);
  24.                     if (firstWord == reverseSecondWord)
  25.                     {
  26.                         string stringForAdd = firstWord + " " + "<=>" + " " + secondWord;
  27.                         list.Add(stringForAdd);
  28.                     }
  29.                 }
  30.  
  31.                 Console.WriteLine($"{matchesForWord.Count} word pairs found!");
  32.                 if (list.Count > 0)
  33.                 {
  34.                     Console.WriteLine("The mirror words are:");
  35.                     Console.WriteLine(string.Join(", ",list));
  36.                 }
  37.                 else
  38.                 {
  39.                     Console.WriteLine("No mirror words!");
  40.                 }
  41.             }
  42.  
  43.             else
  44.             {
  45.                 Console.WriteLine("No word pairs found!");
  46.                 Console.WriteLine("No mirror words!");
  47.             }          
  48.         }
  49.     }
  50. }
  51.  
Add Comment
Please, Sign In to add comment