Notepad++:如何只保留重複行並刪除非重複行

Notepad++:如何只保留重複行並刪除非重複行

說我有:

Example
Example
1
1
3

期望:

Example
1

答案1

假設您的文件已排序並以空白行終止


  • Ctrl+H
  • 找什麼:^(.+\R)(\1)*
  • 用。$2
  • 打鉤 相符
  • 打鉤 環繞
  • 選擇 正規表示式
  • 取消勾選 . matches newline
  • Replace all

解釋:

^           # beginning of line
    (           # group 1
        .+          # 1 or more any character but newline
        \R          # any kind of linebreak
    )           # end group 1
    (           # group 2
        \1          # backreference to group 1 (i.e. same value as captured in group 1)
    )*          # end group 2, may appear 0 or more times

替代品:

$2          # content of group 2, will be empty if there are no duplicates

截圖(之前):

在此輸入影像描述

截圖(之後):

在此輸入影像描述

答案2

以下解決方案要求重複行包含在檔案的一個序列中。

為了刪除獨特的線條,我找到了帖子
尋找並保留文字檔案中的所有重複行(而不是唯一行)

根據貼文中的答案和評論,以下內容將刪除唯一的行。

在「尋找與取代」對話方塊 ( Ctrl+ H) 中執行以下操作:

搜尋什麼:^((.*)\R(\2\R?)+)*\K.*?\n
用。: 沒有什麼
搜尋模式: 正規表示式
。匹配換行符:已檢查

按一下“全部替換”以刪除唯一的行。

若要刪除重複行,請參閱帖子 記事本刪除重複行

相關內容