Удалить из предложения одинаковые слова стоящие рядом - 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д