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


当前回答

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

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

替换为:\1

其他回答

在notepad++ 8.1版本中,有一个特定的命令可以精确地完成这个流行问题的要求。On可以使用菜单命令“编辑>行操作>删除重复行”删除文本文件中的重复行。

不需要安装插件(正如目前接受的答案所建议的那样),也不需要事先对行进行排序,或者像其他答案所建议的那样在Replace对话框中使用regex语法。

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

Notepad + +

->替换window

确保在搜索模式中选择了正则表达式单选按钮

找到:

(*) ^ (r ? (n - 1) +美元

替换为:

$1

之前:

我们认为 我们认为 一行 有可能 有可能

后:

我们认为 一行 有可能

在NPP很难做到这一点。 更好的方法是:

下载cygwin实用程序,这是一个简单的Linux终端在windows下。 它允许在Windows中执行任何Linux命令。 这里是排序-u。

带有TextFX插件的notepad++可以做到这一点,如果你想按行排序,并同时删除重复的行。

要在最新版本的notepad++中安装TextFX,您需要从这里下载:https://sourceforge.net/projects/npp-plugins/files/TextFX

TextFX插件曾经包含在旧版本的notepad++中,或者可以从菜单中添加到插件->插件管理器->显示插件管理器->可用选项卡-> TextFX ->安装。在某些情况下,它也可能被称为TextFX字符,但这是同样的事情。

需要的复选框和按钮现在将出现在菜单下:TextFX -> TextFX工具。

确保选中了“sort outputs only unique…”。接下来,选择一个文本块(Ctrl+ a选择整个文档)。最后,点击“区分大小写排序”或“不区分大小写排序”