Я обрабатываю файлы, чтобы заменить список предопределенных ключевых слов пре- и постстрокой (скажем, "#" и "."), Например:
"Word Word2 anotherWord и некоторые другие вещи "должны стать" #Word. # Word2. #AnotherWord. И некоторые другие вещи "
Мои ключи уникальны и обрабатывают ключи от самых длинных до самых маленьких, поэтому яЯ знаю, что включение может быть только уже. Однако, если у меня есть включение ключа (например, Word2
содержит Word
), и если я сделаю
"Word Word2 anotherWord and some other stuff"
.Replace("anotherWord", "#anotherWord.")
.Replace("Word2", "#Word2.")
.Replace("Word", "#Word.")
, я получу следующий результат:
"# Слово. ## Word.2. # Другое # Слово .. и некоторые другие вещи"
Конечно, мой подход не работает.Так как же убедиться, что я заменю только ключ в строке, если он НЕ содержится в другом ключе?Я попробовал RegExp, но не нашел правильный путь.Или есть другое решение?