Как найти и исправить орфографические ошибки в тексте

cherus09

Client
Регистрация
10.10.2016
Сообщения
171
Благодарностей
14
Баллы
18
Привет, подскажите как на C# можно реализовать исправление вот таких ошибок когда пропущены пробелы в нужных местах текста.
Ну и вообще интересно можно как-то бороться с орфографическими ошибками силами Зеннопостера?

Пример:

Он поможет не только рассчитать суточную норму воды индивидуально под вас, но и будет постоянно напоминать о том, чтобы вы не забывали выпить порцию воды.Залог похудения - ежедневное употребление чистой питьевой воды (ранее я писала про водную диету).Большинство современных приложений можно подключить к Apple Watch, чтобы еще быстрее реагировать на уведомления карманного товарища. Выберите для себя подходящее:WatermaniaWaterbalanceHydro
 

Dobrii

Client
Регистрация
31.03.2019
Сообщения
171
Благодарностей
63
Баллы
28
Если брать примеры из текста, можно сделать через Обработка текста -> Замена + регулярки.
 

cherus09

Client
Регистрация
10.10.2016
Сообщения
171
Благодарностей
14
Баллы
18

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 804
Баллы
113
Вот решение конкретно под текст из первого сообщения.
Регулярка ищёт точку или двоеточие, за которой следует НЕ пробельный символ, затем между ними вставляется пробел.

Если нужны другие символы (кроме точки и двоеточия) то тут (\.|:) надо через символ | добавить необходимые знаки. Например, добавим запятую и точку с запятой - (\.|:|,|;). Итоговое регулярное выражение - (\.|:|,|;)(\S)
C#:
// В переменной проекта text должен находится текст, который надо обработать
string text = project.Variables["text"].Value;


return Macros.TextProcessing.Replace(text, @"(\.|:)(\S)", "$1 $2", "Regex", "All");
В настройках экшена не забудьте указать переменную, куда сохранится результат.
 
  • Спасибо
Реакции: cherus09

cherus09

Client
Регистрация
10.10.2016
Сообщения
171
Благодарностей
14
Баллы
18
Например, приветствие.
Вот решение конкретно под текст из первого сообщения.
Регулярка ищёт точку или двоеточие, за которой следует НЕ пробельный символ, затем между ними вставляется пробел.

Если нужны другие символы (кроме точки и двоеточия) то тут (\.|:) надо через символ | добавить необходимые знаки. Например, добавим запятую и точку с запятой - (\.|:|,|;). Итоговое регулярное выражение - (\.|:|,|;)(\S)
C#:
// В переменной проекта text должен находится текст, который надо обработать
string text = project.Variables["text"].Value;


return Macros.TextProcessing.Replace(text, @"(\.|:)(\S)", "$1 $2", "Regex", "All");
В настройках экшена не забудьте указать переменную, куда сохранится результат.
Спасибо! Буду пробывать ваш метод
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)