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

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

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

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

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

textual
Листинг программы
    sealed class TextParser
    {
        private readonly HashSet<char> punctMarks = new HashSet<char>();
        private const char space = ' ';
 
        public void AddPunctuationMarks(params char[] punctMarks)
        {
            punctMarks.ToList().ForEach(m => this.punctMarks.Add(m));
        }
 
        public string ProcText(string srcText)
        {
            StringBuilder sb = new StringBuilder();
 
            foreach(char ch in srcText.ToCharArray())
            {
                if (punctMarks.Contains(ch))
                    while (sb.Length > 0 && sb[sb.Length - 1] == space)
                        sb.Length--;
                else if (ch != space && sb.Length > 0 && punctMarks.Contains(sb[sb.Length - 1]))
                    sb.Append(space);
 
                sb.Append(ch);
            }
 
            return sb.ToString();
        }
    }

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


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

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

5   голосов , оценка 4 из 5
Похожие ответы