You*_*nes 87 visual-studio-code
假设您有以下文字:
abc
123
abc
456
789
abc
abc
Run Code Online (Sandbox Code Playgroud)
我想删除所有"abc"行,只保留一行.我不介意排序.结果应该是这样的:
abc
123
456
789
Run Code Online (Sandbox Code Playgroud)
Mar*_*377 162
按字母顺序排序行(如果尚未按行排序),并执行以下步骤:(
基于此相关问题:如何使用正则表达式查找和删除文件中的重复行?)
在这种情况下,要么使用VS Code以外的解决方案(请参阅此处),要么 - 如果您的文档不是很大并且您不介意将"全部替换"按钮发送垃圾邮件 - 请按照前面的步骤操作,但在步骤4和5中,输入以下内容:(
基于删除特定的重复行而不进行排序)
警告:具有太多行(1000+)的文件的块; 可能导致VS Code崩溃; 在某些情况下可能会引入空行.
搜索:((^[^\S$]*?(?=\S)(?:.*)+$)[\S\s]*?)^\2$(?:\n)?
替换为:$1
然后单击"全部替换"按钮,因为重复出现次数.
单击按钮时,当行数停止减少时,您就会知道它已足够了.导航到文档的最后一行以关注它.
Sim*_*nAx 20
刚刚遇到同样的问题并发现了VSCode包"Sort lines",详见VSCode市场(例如https://marketplace.visualstudio.com/items?itemName=Tyriar.sort-lines).
这个包有"排序行(唯一)"选项,它为我做了.处理线条开头/结尾处的任何空白区域,它们会影响线条是否被视为唯一线条.
Ske*_*eve 14
要添加到@ Marc.2377的回复中。
如果顺序很重要,并且您不在乎只保留最后一行重复的行,只需搜索regexp
^(.*\n)(?=(?:.*\n)*?\1)
Run Code Online (Sandbox Code Playgroud)
并一无所获。
这将占用一行,并尝试在前面查找更多(也许为0)行,然后再进行完全相同的行。它将删除拍摄的线。
这只是一个一次性的正则表达式。无需向垃圾邮件发送替换按钮。
如果你不介意 VS Code 中加入一些 Vim。您可以安装 Vim 模拟插件。
然后就可以使用vim命令了
:sort u
Run Code Online (Sandbox Code Playgroud)
它将对行进行排序并删除重复项
| 归档时间: |
|
| 查看次数: |
42196 次 |
| 最近记录: |