Вы можете использовать регулярное выражение для удаления последовательных дублированных слов в строке, однако я не думаю, что возможно удалить дублированные слова, которые не являются последовательными (например dangerous, hazardous, dangerous
).
Используйте это регулярное выражение в окне замены в Notepad ++, и не забудьте выбрать «Регулярное выражение» в качестве опции режима поиска ниже:
Это регулярное выражение удаляет все последовательные дублированные слова - будь то 2 дублированными словами или 10 дублированных слов последовательно: \b(\w+)(?:,\s+\1\b)+
.
Точно такое же регулярное выражение без запятых будет: \b(\w+)(?:\s+\1\b)+
(может быть полезно для других пользователей).
Если вы хотите , регулярное выражение , в частности только два дублированных слова (двойники), используйте это регулярное выражение: (\b\w+\b)\W+\1
.
Поместите это регулярное выражение в Заменить коробку , чтобы сохранить одно вхождение слова ( в противном случае все повторяющиеся слова будут удалены): ${1}
.
Эти регулярные выражения исправят ситуацию, подобную той, что вы описали в своем вопросе в качестве примера. Первое регулярное выражение будет работать для каждого числа дублированных слов (например dangerous, dangerous, dangerous, dangerous, hazardous
), а вторая версия будет работать только для двух дублированных слов (например dangerous, dangerous, hazardous
).
Примечание: регулярное выражение будет применяться только к формату , описанному в вопросе, а это означает , что форматы , такие как two words, two words, anotherword
, two-words, two-words, anotherword
, three words expression, three words expression, anotherword
не будет изменено , поскольку регулярное выражение не будет применяться к ним.
dangerous,hazardous,dangerous,perilous
? Другими словами, дублированные слова всегда рядом друг с другом?