Lecron
Нет, менять способ применения правил к тексту не стану. Это слишком серьезное изменение в программе: оно затронет много словарей, составленных пользователями.
Lecron писал(а): ↑17 июн 2020 15:10
Предложение: прекращать обработку после первого совпадения.
Прекращать обработку чего именно - буквы, слова, словосочетания, предложения, всего текста? Совпадение чего с чем - с буквой, словом, словосочетанием и т.д.?
Как я понимаю, сейчас многие словари как раз и рассчитаны на то, что к одному и тому же тексту будут последовательно применены разные правила из списка.
Например, вот реальный пример использования словаря. Исходный текст:
Одно правило заменит двойной пробел на одинарный:
Следующее правило уберет сокращение:
Последнее правило приведет словосочетание к окончательному виду:
Каждый раз изменения вносятся в один и тот же текст; так и было задумано составителем списка правил. (Разумеется, здесь очень важен порядок применения правил.)
Есть один нюанс. "Балаболка" применяет к тексту правило только
один раз. Другие программы могут применять правило по
несколько раз, снова и снова, каждый раз меняя текст, - до тех пор, пока правило выполняет хотя бы одну замену в тексте. Сложно сказать, какой способ эффективнее. (Я выбрал тот способ, который потребует меньше времени на выполнение.)