2015-06-07 1 views
0

В настоящее время я пытаюсь изменить канадское предложение как «Цвет нашего соседа» на «Цвет нашего соседа» Код должен удалить «u» в нашем измените его на или (легкую часть) Но он также должен проверить, соответствует ли символ перед подстрокой «наш» пробелом, и если это тогда, это оставит его как «наш».Изменение подстроки от нашего или

+2

«hor», «dor», «scor», «tor», «for». , , Ваши правила недостаточно надежны. Вы должны хранить словарь с необходимыми заменами и использовать его. Не говоря уже о «цветах», «почитаемых» и т. Д. –

ответ

0

Вам понадобится что-то более сложное, чем ваше определенное правило («пространство перед« нашим »), или вам понадобится использовать список слов, который должен быть исправлен. Рассмотрим название «Дуг». Я не думаю, что он хотел бы, чтобы его позвали на собаку, даже если он был американцем ...

Вы должны рассмотреть таблицу поиска слов, которые должны быть изменены, я полагаю.

Википедия имеет list of spelling variants between U.S. and U.K. English.

Чтобы вы создали этот список в чем-то в своем коде, вы могли бы напасть на него с помощью шаблонов регулярных выражений. Вы можете прокручивать список и выполнять глобальный поиск/замену (учитывая регистр букв, конечно), или вы можете просто использовать регулярное выражение, чтобы найти в нем какое-либо слово с «ou», а затем проверить все слово на какой-либо хэш-файл вытащить замену, если таковая существует.

Регулярное выражение (\b\w*ou\w*\b) найдет слова, содержащие ou, которые вы могли бы найти в этом хэш-файле.

Надеюсь, что это поможет.