Notepad++:如何保留重复行并删除非重复行
Notepad++:如何保留重复行并删除非重复行
嘿,我来帮你搞定这个问题!在Notepad++里要实现保留重复行、删掉只出现一次的行,用正则表达式替换就能轻松完成,步骤超简单:
- 打开你的目标文档,按下
Ctrl+H调出「替换」窗口; - 在「查找模式」里选择「正则表达式」,务必勾选「匹配换行符」选项(这一步很关键,不然跨行匹配会出问题);
- 在「查找内容」输入框中粘贴以下正则表达式:
^(.*?)$\s*(?!.*^\1$) - 「替换为」输入框保持空白就行;
- 点击「全部替换」,搞定!
给你简单解释下这个正则的逻辑:
^(.*?)$:精准匹配一整行的内容,^和$分别对应行首和行尾,.*?用来捕获任意行内容;\s*:匹配当前行后面的所有空白字符(包括换行符),确保删除非重复行时连带着换行一起清掉,避免留下空行;(?!.*^\1$):这是负向前瞻断言,意思是“后续没有和当前行完全相同的行”,也就是只定位那些仅出现一次的行,替换为空后就把它们删掉了,剩下的自然就是重复出现过的行啦。
小提醒:如果你的文档里有空白行,建议先处理掉——可以用查找 ^\s*$ 替换为空,再执行上面的步骤,避免误操作哦。
备注:内容来源于stack exchange,提问作者jvaier
相关产品推荐
相关产品推荐

