Удалить из предложения одинаковые слова стоящие рядом - C#
Формулировка задачи:
Дана строка, содержащая текст на русском языке. В предложениях некоторые из слов записаны подряд несколько раз (предложение заканчивается точкой или знаком восклицания). Получить в новой строке отредактированный текст, в котором удалены подряд идущие вхождения слов в предложениях.
Решение задачи: «Удалить из предложения одинаковые слова стоящие рядом»
textual
Листинг программы
- using System;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- var s = "Дана строка строка, содержащая текст на русском языке. Дана строка, содержащая текст на на на русском языке!"; // Задаем строку
- var temp = s.Split(new [] {' '}, StringSplitOptions.RemoveEmptyEntries); // Делим ее на слова
- var res = String.Empty; // Создаем переменную для результата
- for (var i = 0; i < temp.Length - 1; i++) // Цикл по словам
- if (temp[i].TrimEnd(',', '.', '!', ':', ';') != temp[i + 1].TrimEnd(',', '.', '!', ':', ';')) // Если слово без знаков препинания не равно следующему слову без знаков препинания
- res += temp[i] + " "; // то добавляем его и пробел к результату
- if (temp[temp.Length - 2].TrimEnd(',', '.', '!', ':', ';') !=
- temp[temp.Length - 1].TrimEnd(',', '.', '!', ':', ';')) res += temp[temp.Length - 1]; // Если последнее слово без знаков препинания не равно предпоследнему слову без знаков препинания, то добавляем последнее слово к результату
- Console.WriteLine(res); // Выводим результат на экран )))
- Console.ReadLine();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д