删除 Notepad++ 中的重复字符串

Remove duplicated strings within Notepad++

我试图找到一种方法来删除 Notepad++ 中的重复字符串(而不是删除重复的行)。例如,如果我有文本:

爱丽丝最喜欢的冰淇淋(不是冰淇淋)是:香草!爱丽丝最喜欢的冰淇淋(不是冰淇淋)是:香草!请去商店买些冰淇淋

结果应该是

爱丽丝最喜欢的冰淇淋(不是冰淇淋)是:香草!请去商店买些冰淇淋

我尝试查找一些示例并找到了 this,但它并没有真正按预期工作。提前致谢。

如果你有连续的重复,那么你可以使用这样的正则表达式:

(.*)

Working demo

并使用替换字符串:</code> 或 <code>,如您在屏幕截图中的 substitution section 中所见。

更新:正如1010在此评论中指出的那样:

beware that it may match duplicates like the 'o' in "look", or parts of a sentence that repeats characters as in "... this is a duplicate"

您可以通过限制最少的重复字符来防止这种情况发生。例如,此正则表达式查找至少有 5 个重复字符的重复字符(您可以修改您认为正确的数字):

(.{5,})

我刚遇到类似的问题,想删除重复的行。事实证明,已经有一个内置功能可以做到这一点。

只需转到 "Edit->Line Operations->Remove Consecutive Duplicate Lines"。