是否有可能在notepad++中删除重复的行,只留下一行的单一出现?
当前回答
无论文件是否排序,您都可以使用下面的regex删除文件中任何位置的重复项。
^([^\r]*[^\n])(.*?)\r?\ n \ 1美元 替换为:\1\2 搜索模式:
“正则表达式” 检查“。匹配换行"选项
尽可能多地点击“替换全部”(或按住Alt+A快捷键),直到你看到“0次发生被替换”
其他回答
没有一个对我有效。
解决方案是:
取代
^(.*)\s+(\r?\n\1\s+)+$
with
\1
在7.8版中,您可以在没有任何插件的情况下完成这一点-编辑->行操作->删除连续重复的行。在此工作之前,您必须对文件进行排序,以便将重复的行按连续的顺序放置,但它确实非常有效。
排序选项可在编辑->行操作->排序按…
搜索正则表达式:\b(\w+)\b([\w\ w]*)\b\1\b
替换为:$1$2
点击“替换”按钮,直到文件中不再匹配正则表达式为止。
扩展顶部的答案,还可以使用第二个前向查找几乎与其他行重复的行。
^(±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共享中的您自己的数据。
从notepad++版本6开始,你可以在搜索和替换对话框中使用这个正则表达式:
^(.*?)$\s+?^(?=.*^\1$)
什么都不替换。这将在所有重复行中留下文件中最后一次出现的内容。
不需要排序,重复的行可以在文件中的任何地方!
您需要勾选“正则表达式”和“正则表达式”选项。匹配换行符”:
^ matches the start of the line. (.*?) matches any characters 0 or more times, but as few as possible (It matches exactly on row, this is needed because of the ". matches newline" option). The matched row is stored, because of the brackets around and accessible using \1 $ matches the end of the line. \s+?^ this part matches all whitespace characters (newlines!) till the start of the next row ==> This removes the newlines after the matched row, so that no empty row is there after the replacement. (?=.*^\1$) this is a positive lookahead assertion. This is the important part in this regex, a row is only matched (and removed), when there is exactly the same row following somewhere else in the file.
推荐文章
- 在Python Pandas中删除多个列中的所有重复行
- MySQL对重复键更新在一个查询中插入多行
- 我如何检查是否有重复在一个平面列表?
- 如何将大写字母转换为小写notepad++
- 我如何在python中使用熊猫获得所有重复项的列表?
- notepad++是否显示所有隐藏字符?
- 如何在notepad++文本编辑器中更改背景颜色?
- 按列A删除重复项,保留列B中值最高的行
- 如何在PostgreSQL中找到重复的记录
- notepad++设置禁用自动打开以前的文件
- 在notepad++中找到CRLF
- 什么是最有效的方法来删除重复和排序一个向量?
- 在Ruby中删除数组中的重复元素
- 我如何配置notepad++使用空格而不是制表符?
- 删除索引重复的熊猫行