如何在 notepad++ 中删除重复的行并保留换行符、制表符和空格?

如何在 notepad++ 中删除重复的行并保留换行符、制表符和空格?

假设我有一个包含数千行的文件,我该如何让 notepad++ 删除重复的行(就像内置功能一样),但保留所有间距?

如果我使用内置功能,它会删除所有内容,包括换行符、制表符、空格,因为所有这些都算作重复,但我需要保留所有换行符、制表符和空格。

例如,假设原文如下:

   Window 2

  notepad++ remove duplicate lines - Google Search
  https://www.google.com/search?q=notepad%2B%2B+remove+duplicate+lines

  remove duplicate lines keep blank lines notepad++ - Google Search
  https://www.google.com/search?q=remove+duplicate+lines+keep+blank+lines+notepad

  YouTube
  https://www.youtube.com/

  YouTube
  https://www.youtube.com/

  YouTube
  https://www.youtube.com/

  YouTube
  https://www.youtube.com/

  YouTube
  https://www.youtube.com/

删除重复的行后,我希望它保留所有原始间距(同时仍保留一条原始重复行),如下所示:

   Window 2

  notepad++ remove duplicate lines - Google Search
  https://www.google.com/search?q=notepad%2B%2B+remove+duplicate+lines

  remove duplicate lines keep blank lines notepad++ - Google Search
  https://www.google.com/search?q=remove+duplicate+lines+keep+blank+lines+notepad

  YouTube
  https://www.youtube.com/

我尝试过用网上找到的几种方法来做这件事,比如这里,以及其他几种类似的方法,但没有一个能达到我想要的效果。

老实说,我只是需要一种方法来做到这一点,不一定非要在 notepad++ 中,但如果有办法做到这一点,那么我宁愿坚持使用 notepad++。

答案1

此解决方案将两个连续的相同三元组替换为一个,因此您必须重复运行它,直到找不到更多相同的三元组。我假设空白行是真正的空白,没有空白字符。

查找内容:^(.*?$\r\n.*?$\r\n\r\n)\1
替换为:\1
搜索模式: 带有“.”的正则表达式匹配换行符。

在此处输入图片描述

相关内容