我有一个.txt文档,该文档由一个单词组成,后跟一行一行的日期,等等。

Notepad++如何识别不同行中的相同单词并删除重复的行?

最佳答案

假设同一单词的相同出现日期可能不同,并且您希望保留第一个出现在文件中的日期,那么这应该起作用(确保文件以新行结尾):

  • 转到“替换”对话框(您可以按Ctrl + F并转到“替换”选项卡)。
  • 在底部的“搜索模式”中,选择“正则表达式”(确保未选择“。匹配换行符”)。
  • 在“查找内容:”字段中,键入(\s*\w+ )(.*\r\n)((.*\r\n)*)\1.*\r\n
  • 在“替换为:”字段中,键入\1\2\3
  • 单击“替换”,直到没有更多的出现为止(“全部替换”似乎对此不起作用,也许存在一个更好的正则表达式,但它仍适用于我)。

  • 我已经在文件上对此进行了测试:
    testing330     05:09-24/08
    whatever     10:55-25/08
    testing     15:57-26/08
    testing667     19:22-30/08
    linux     00:29-31/08
    testing330     00:29-31/08
    windows     12:25-31/08
    

    结果是:
    testing330     05:09-24/08
    whatever     10:55-25/08
    testing     15:57-26/08
    testing667     19:22-30/08
    linux     00:29-31/08
    windows     12:25-31/08
    

    关于duplicates - Notepad++删除包含重复单词的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18768727/

    10-15 10:25