假设你有以下文本:
abc
123
abc
456
789
abc
abc
我想去掉所有的“abc”行,只留下一行。我不介意排序。结果应该是这样的:
abc
123
456
789
假设你有以下文本:
abc
123
abc
456
789
abc
abc
我想去掉所有的“abc”行,只留下一行。我不介意排序。结果应该是这样的:
abc
123
456
789
当前回答
安装DupChecker扩展,点击F1,并键入“检查副本”。
它将检查副本并询问您是否要删除它们。
其他回答
崇高的文本3
它具有非常快的原生排列函数。
编辑> Permute Lines > Unique或⌘U,和 编辑>排列选择>唯一
Visual Studio Code是我的日常驱动程序。但是,我保持崇高的文本在这些情况下待命。
实际上不是在Visual Studio Code中,但如果它能工作,它就能工作。
打开一个新的Excel电子表格 将数据粘贴到一个列中 转到数据选项卡 选择数据列(如果还没有) 点击删除重复项(在工具条中间位置) 单击“确定”删除重复项。
这不是最好的答案,正如你指定的Visual Studio Code,但正如我所说:如果它工作,它工作:)
安装DupChecker扩展,点击F1,并键入“检查副本”。
它将检查副本并询问您是否要删除它们。
添加到@Marc。2377的答复。
如果顺序很重要,并且您不关心只保留最后的重复行,如果您只想删除重复的非空行,则只需搜索下面的regexp
^(.+)\n(?=(?:.*\n)*?\1$)
如果还想删除重复的空行,请使用*而不是+
^(.*)\n(?=(?:.*\n)*?\1$)
什么都不替换。
这将取一行,并试图找到前面更多(可能是0)行,后面跟着完全相同的行。它将删除所取的线。
这只是一个一次性的正则表达式。不需要垃圾邮件替换按钮。
现在还考虑了@awk的注释,其中最后一行必须有换行符才能被识别为重复。现在,通过从搜索行中排除\n并在找到的行中添加$,情况就不再是这样了。
如果行序不重要
按字母顺序排序行,如果它们还不是,并执行以下步骤: (基于这个相关的问题:如何使用正则表达式从文件中找到并删除重复的行?)
控制+ F 切换“替换模式” 切换“使用正则表达式”(带有。*符号的图标) 在搜索字段中,输入^(.*)(\n\1)+$ 在“replace with”字段中,输入$1 单击(“全部替换”)。
如果行序很重要,你就不能排序
在这种情况下,要么求助于VS Code之外的解决方案(见这里),或者——如果你的文档不是很大,你不介意弹出替换所有按钮——遵循前面的步骤,但在步骤4和5中,输入这些: (基于不排序删除特定重复行)
警告:有太多行(1000+)的文件块;可能会导致VS Code崩溃;在某些情况下可能引入空行。
搜索:((^[^ \]新元* ? (? = \ S )(?:.*)+$)[\ S \] * ?) ^ \ 2美元(?:\ n) ? 替换为:$1
然后点击“全部替换”按钮,重复出现多少次就点击多少次。
当您单击按钮时,行数停止减少时,您就知道已经足够了。导航到文档的最后一行来关注它。