如果在 Notepad++ 中某行出现多次,如何删除?(删除两行!)

如果在 Notepad++ 中某行出现多次,如何删除?(删除两行!)

以下是我的 .csv 的样子:

36;Masashi MOTOYAMA
38;H. SOGAHATA
38;Hitoshi SOGAHATA
47;Masami IHARA
52;S. ONO
52;S. ONO

对于我的项目,我需要逐个添加每个缺失的 ID。

我想保留只出现一次的 ID。

但我的名单上总共有 60,000 个名字。

我想删除所有出现多次的数字的行,并删除两行,而不仅仅是一行。

例如如果我有

1
2
2
3

我并不是在寻找“1,2,3”,我想要的是:

1
3

数字从“1;”到“1073878823;”

有些名字的书写方式不同,不匹配,只有数字重要。

在此先感谢您的帮助。

答案1

假设你的文件已排序, 你可以做:

  • Ctrl+H
  • 找什么:^(\d+).+\R(?:^\1\b.+\R?)+
  • 用。。。来代替:LEAVE EMPTY
  • 查看 环绕
  • 查看 正则表达式
  • 取消选中 . matches newline
  • Replace all

解释:

^           # beginning of line
    (\d+)       # group 1, 1 or more digits
    .+          # 1 or more any character but newline
    \R          # any kind of linebreak (i.e. \r, \n, \r\n)
    (?:         # non capture group
        ^           # beginning of line
        \1          # backreference to group 1
        \b          # word boundary
        .+          # 1 or more any character but newline
        \R?         # any kind of linebreak, optional
    )+          # end group, must appear 1 or more times

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

相关内容