3 回答
TA贡献2012条经验 获得超12个赞
从Notepad ++ Version 6开始,您可以在搜索和替换对话框中使用此正则表达式:
^(.*?)$\s+?^(?=.*^\1$)
并且什么也没有替换。这将从文件中最后一次出现的所有重复行中留下。
不需要排序,重复的行可以在文件中的任何位置!
您需要选中“正则表达式”和“。匹配换行符”选项:
^
匹配行的开头。(.*?)
匹配任何字符0次或更多次,但尽可能少(它完全匹配行,因为“匹配换行”选项,这是必需的)。匹配的行被存储,因为括号周围和可访问使用\1
$
匹配行的结尾。\s+?^
此部分匹配所有空白字符(换行符!),直到下一行的开头==>这将删除匹配行之后的换行符,以便在替换后没有空行。(?=.*^\1$)
这是一个积极的前瞻性断言。这是此正则表达式中的重要部分,只有在文件中的其他位置之后存在完全相同的行时,才会匹配(并删除)行。
TA贡献1796条经验 获得超4个赞
Notepad ++可以执行此操作,前提是您希望逐行排序,并同时删除重复的行。
您将需要TextFX插件。这曾经包含在旧版本的Notepad ++中,但如果您有更新的版本,可以通过转到菜单中添加它Plugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Install
。在某些情况下,它也可能被调用TextFX Characters
,但这是一回事
该复选框和按钮所需现在将出现在菜单下:TextFX -> TextFX Tools
。
确保选中“仅排序输出唯一...”。接下来,选择一个文本块(Ctrl+ A以选择整个文档)。最后,单击“排序区分大小写”或“排序行不区分大小写”
添加回答
举报