Проверьте текст на правильность расстановки знаков препинания - C#

Узнай цену своей работы

Формулировка задачи:

По правилу расстановки знаков препинания перед каждым знаком препинания пробел отсутствует, а после него обязательно стоит пробел. Учитывая данное правило, проверьте текст на правильность расстановки знаков препинания и, если необходимо, внесите в текст изменения.

Решение задачи: «Проверьте текст на правильность расстановки знаков препинания»

textual
Листинг программы
  1.     sealed class TextParser
  2.     {
  3.         private readonly HashSet<char> punctMarks = new HashSet<char>();
  4.         private const char space = ' ';
  5.  
  6.         public void AddPunctuationMarks(params char[] punctMarks)
  7.         {
  8.             punctMarks.ToList().ForEach(m => this.punctMarks.Add(m));
  9.         }
  10.  
  11.         public string ProcText(string srcText)
  12.         {
  13.             StringBuilder sb = new StringBuilder();
  14.  
  15.             foreach(char ch in srcText.ToCharArray())
  16.             {
  17.                 if (punctMarks.Contains(ch))
  18.                     while (sb.Length > 0 && sb[sb.Length - 1] == space)
  19.                         sb.Length--;
  20.                 else if (ch != space && sb.Length > 0 && punctMarks.Contains(sb[sb.Length - 1]))
  21.                     sb.Append(space);
  22.  
  23.                 sb.Append(ch);
  24.             }
  25.  
  26.             return sb.ToString();
  27.         }
  28.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы