是否有可能在notepad++中删除重复的行,只留下一行的单一出现?
当前回答
在notepad++ 8.1版本中,有一个特定的命令可以精确地完成这个流行问题的要求。On可以使用菜单命令“编辑>行操作>删除重复行”删除文本文件中的重复行。
不需要安装插件(正如目前接受的答案所建议的那样),也不需要事先对行进行排序,或者像其他答案所建议的那样在Replace对话框中使用regex语法。
其他回答
你可能需要一个插件来做到这一点。您可以尝试ConyEdit的命令行cc.ddl(删除重复的行)。它是一个文本编辑器的跨编辑器插件,包括notepad++。
使用ConyEdit在后台运行,遵循以下步骤:
在文本末尾输入命令行cc.ddl。 复制文本和命令行。 粘贴,然后你会看到你想要的。
例子
扩展顶部的答案,还可以使用第二个前向查找几乎与其他行重复的行。
^(±s * (< PackageReference包括=”。* * *版=)。*)$±s +?^(?=.*^\ 2 . *美元)
这里我在多次引用同一个<PackageReference Include="。字符串,不管它的版本。
测试数据
<PackageReference Include="Package1" Version="2.2.1" />
<PackageReference Include="Package1" Version="2.2.1" /> // Match
<PackageReference Include="Package1" Version="2.2.2" />
<PackageReference Include="Package2" Version="5.1" /> // Match
<PackageReference Include="Package2" Version="5.2" />
<PackageReference Include="Package3" Version="2.2.1" /> // No match
<PackageReference Include="Package4" Version="2.2.1" />
查看regex术语含义的详细说明,并尝试使用这个regex101共享中的您自己的数据。
如果行是紧挨着的,那么你可以使用正则表达式替换:
搜索模式:^(.*\r?\n)(\1)+
替换为:\1
如果你不关心行顺序(我认为你不关心),那么你可以使用Linux/FreeBSD/Mac OS X/Cygwin盒子,然后做:
$ cat yourfile | sort | uniq > yourfile_nodups
然后在notepad++中再次打开该文件。
在notepad++ 8.1版本中,有一个特定的命令可以精确地完成这个流行问题的要求。On可以使用菜单命令“编辑>行操作>删除重复行”删除文本文件中的重复行。
不需要安装插件(正如目前接受的答案所建议的那样),也不需要事先对行进行排序,或者像其他答案所建议的那样在Replace对话框中使用regex语法。
推荐文章
- 复制notepad++文本与格式?
- 如何停止notepad++显示文件中所有单词的自动补全
- 如何从c#数组中删除重复项?
- 在SQL Server中查找重复的行
- 在Python Pandas中删除多个列中的所有重复行
- MySQL对重复键更新在一个查询中插入多行
- 我如何检查是否有重复在一个平面列表?
- 如何将大写字母转换为小写notepad++
- 我如何在python中使用熊猫获得所有重复项的列表?
- notepad++是否显示所有隐藏字符?
- 如何在notepad++文本编辑器中更改背景颜色?
- 按列A删除重复项,保留列B中值最高的行
- 如何在PostgreSQL中找到重复的记录
- notepad++设置禁用自动打开以前的文件
- 在notepad++中找到CRLF