C# напишите программу с использованием регулярных выражений, выполняющую проверку, является ли слово палиндромом.

diana55665 diana55665    1   29.09.2019 07:10    0

Ответы
Kate200005 Kate200005  09.10.2020 02:14

Код, приведенный ниже, работает не только со словами, но и со строками.

Например, "На в лоб, Болван" определяется как полиндром.


using System;

using System.Linq;

using System.Text.RegularExpressions;


namespace PolyndromeFinder

{

   class Program

   {

//

// [START] Тот самый участок кода

//

       static bool IsPolyndrome(string victim)

       {

           victim = victim // Нормализуем строку

               .Replace(" ", "")

               .Replace(",", "")

               .Replace(".", "")

               .Replace("?", "")

               .Replace("!", "")

               .ToLower();

           var check = new Regex(victim); // Создаём на её основе регулярное выражение

           return check.IsMatch(new string(victim.Reverse().ToArray())); // Переворачиваем строку и сверяем с регуляркой

       }

//

// [END] Тот самый участок кода

//


       static void Main(string[] args)

       {

           bool answer;

           while (true)

           {

               Console.Write("Введите строку: ");

               string superPositionPolyndrome = Console.ReadLine();

               Console.WriteLine("Это{0} полиндром!\n", (answer = IsPolyndrome(superPositionPolyndrome))? "": " НЕ");

           }

       }

   }

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика