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

0 голосов
42 просмотров

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


Информатика (118 баллов) | 42 просмотров
Дан 1 ответ
0 голосов

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

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


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))? "": " НЕ");

           }

       }

   }

}

(7.0k баллов)
0

Прошло столько лет, а форматирование кода на знаниях так и не прикрутили. Наглядность? В топку эту ненужную ${something_else_here}!

0

Привет Эникей, всё ещё тут? ;D

0

Увы, пока да