是否有可能在notepad++中删除重复的行,只留下一行的单一出现?


当前回答

无论文件是否排序,您都可以使用下面的regex删除文件中任何位置的重复项。

^([^\r]*[^\n])(.*?)\r?\ n \ 1美元 替换为:\1\2 搜索模式:

“正则表达式” 检查“。匹配换行"选项

尽可能多地点击“替换全部”(或按住Alt+A快捷键),直到你看到“0次发生被替换”

其他回答

如果行是紧挨着的,那么你可以使用正则表达式替换:

搜索模式:^(.*\r?\n)(\1)+

替换为:\1

notepad++的后一个版本显然根本不包括TextFX插件。为了使用插件排序/消除重复,必须下载并安装插件(更复杂)或使用插件管理器添加插件。

A)简单的方法(如这里所述)。

插件->插件管理->显示插件管理->可用选项卡-> TextFX字符->安装

B)更复杂的方式,如果需要另一个版本或简单的方法不起作用。

从SourceForge下载插件: http://downloads.sourceforge.net/project/npp-plugins/TextFX/TextFX%20v0.26/TextFX.v0.26.unicode.bin.zip 打开压缩文件,解压“NppTextFX.dll” 将NppTextFX.dll放在notepad++插件目录中,例如: C:\Program Files\ notepad++ \ plugins 启动notepad++, TextFX将是文件菜单项之一(如Colin Pickard上面的答案#1所示)

在安装TextFX插件之后,按照答案#1中的说明对重复项进行排序和删除。

另外,如果你经常使用这个命令,或者想复制一个键盘快捷方式,比如在TextPad中使用F9进行排序,可以考虑使用Settings >快捷方式映射器来设置一个键盘快捷方式。

到目前为止,使用记事本内置功能可以删除所有连续重复的行。首先对行进行排序:

编辑>行操作>“按字典顺序排序”,

then

编辑>线路操作>“删除连续重复线路”。

上面建议的正则表达式解决方案并没有为我删除所有重复的行,而是只删除了连续的行。

没有一个对我有效。

解决方案是:

取代

^(.*)\s+(\r?\n\1\s+)+$

with

\1

notepad++有内置操作:

Edit -> Line Operations -> Sort Lines...
Edit -> Line Operations -> Remove Duplicate Lines

也许它只适用于删除重复行,但我需要通过看到排序工作来看到操作工作。

如果它不工作,问题可能是不同的结束线,我现在遇到的。您可以通过查看->显示符号->显示行结束来检查。 把它替换成相同的。

Click on Search > Replace (or Ctrl + H)
Find what:  \r\n
Replace with: \n
Search Mode: select Extended (\n, \r,...)
Replace All