保留重复行记事本++

时间:2013-10-23 13:01:38

标签: search text replace notepad++

我需要删除唯一的行并将重复项保留在我的文本文件中(阅读所写的文章以删除重复的行,但我想做相反的事情)。有什么方法可以使用表达式或textfx吗? 例如:

file1.txt
hello
world
hello

操作后,输出应为

hello
hello

提前致谢

2 个答案:

答案 0 :(得分:0)

这会找到所有行跟随的行重复(但它找不到最后一行):

.+\r\n(?=(.+\r\n)\1)
000000    111111 22

这匹配非空行0,但前后是(非空行\1,后跟\1)。

请注意,这假定\r\n(Windows)行分隔。在Mac文本文件上的Unix文本文件\n上,只有\r

在搜索框中,标记Regular expression,取消标记. matches newlineReplace with =“”。

示例:

"Zulu
 Alpha
 Alpha
 Bravo
 Charlie
 Charlie
 Delta
 Echo
 Echo
 Foxtrott
"

(file ends with empty line)

-->

"Alpha
 Alpha
 Charlie
 Charlie
 Echo
 Echo
 Foxtrott
"

答案 1 :(得分:0)

在替换对话框中:

查找

^(.+)\r?\n(?!(.|\r?\n)*\1)

替换:

*leave empty!*

选项:

  • 选择单选按钮“正则表达式”
  • 保留复选框“。匹配换行符”取消选中

优点:

  • 重复行不需要在第一次出现后立即

缺点:

  • 如果您的数据中有一行显示x次,则会在正确的x-1次出现后留下,而不是按照OP中的要求x