Możesz użyć wyrażenia regularnego, aby usunąć kolejne zduplikowane słowa w linii, jednak nie sądzę, że jest możliwe usunięcie zduplikowanych słów, które nie są kolejne (np dangerous, hazardous, dangerous
.).
Użyj tego wyrażenia regularnego w oknie zastępowania w Notepad ++ i nie zapomnij wybrać „Wyrażenie regularne” jako opcji Tryb wyszukiwania poniżej:
Ten regex usunie wszystkie kolejne słowa duplikatów - czy to 2 zduplikowane słowa lub 10 zduplikowane słowa kolejno: \b(\w+)(?:,\s+\1\b)+
.
Dokładnie to samo wyrażenie regularne bez przecinków: \b(\w+)(?:\s+\1\b)+
(może być przydatne dla innych użytkowników).
Jeśli chcesz regex specjalnie dla zaledwie dwóch zduplikowane słowa (podwójna), należy użyć tego wyrażenia regularnego: (\b\w+\b)\W+\1
.
Umieść ten regex w Wymienić z pudełka, aby zachować jedno wystąpienie słowa (w przeciwnym razie wszystkie powtarzające się słowa będą usuwane) ${1}
.
Te wyrażenia regularne naprawią sytuację taką jak opisana w pytaniu jako przykład. Pierwsze wyrażenie regularne będzie działać dla każdej liczby zduplikowanych słów (np. dangerous, dangerous, dangerous, dangerous, hazardous
), Podczas gdy druga wersja będzie działać tylko dla dwóch zduplikowanych słów (np dangerous, dangerous, hazardous
.).
Uwaga: Wyrażenie regularne będą miały zastosowanie tylko do formatu opisanego w pytaniu, co oznacza, że formaty podoba two words, two words, anotherword
, two-words, two-words, anotherword
, three words expression, three words expression, anotherword
nie ulegnie zmianie, ponieważ regex nie będzie stosować się do nich.
dangerous,hazardous,dangerous,perilous
? Innymi słowy, czy zduplikowane słowa są zawsze obok siebie?