Notepad++:如何仅保留重复的行并删除不重复的行

Notepad++:如何仅保留重复的行并删除不重复的行

说我有:

Example
Example
1
1
3

期望:

Example
1

答案1

假设你的文件已排序并以空行结束


  • Ctrl+H
  • 找什么:^(.+\R)(\1)*
  • 用。。。来代替:$2
  • 打钩 相符
  • 打钩 环绕
  • 选择 正则表达式
  • 取消勾选 . matches newline
  • Replace all

解释:

^           # beginning of line
    (           # group 1
        .+          # 1 or more any character but newline
        \R          # any kind of linebreak
    )           # end group 1
    (           # group 2
        \1          # backreference to group 1 (i.e. same value as captured in group 1)
    )*          # end group 2, may appear 0 or more times

替代品:

$2          # content of group 2, will be empty if there are no duplicates

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

答案2

以下解决方案要求重复的行包含在文件中的一个序列中。

为了删除独特的线条,我找到了帖子
查找并保留文本文件中所有重复的行(而不是唯一的行)

根据帖子中的答案和评论,以下内容将删除唯一的行。

在“查找和替换”对话框 ( Ctrl+ H) 中执行以下操作:

搜索什么^((.*)\R(\2\R?)+)*\K.*?\n
用。。。来代替: 没有什么
搜索模式: 正则表达式
. 匹配换行符:已检查

单击“全部替换”可删除唯一线条。

对于删除重复的行,请参阅帖子 记事本删除重复的行

相关内容