Notepad++で重複行を削除する 質問する

Notepad++で重複行を削除する 質問する

Notepad++ で重複した行を削除し、行を 1 つだけ残すことは可能ですか?

ベストアンサー1

Notepad++ バージョン 6 以降では、検索と置換ダイアログで次の正規表現を使用できます。

^(.*?)$\s+?^(?=.*^\1$)

何も置き換えません。これにより、重複するすべての行からファイル内の最後の出現が残ります。

そのためにソートする必要はなく、重複行はファイル内のどこにでも存在できます。

「正規表現」と「. 改行に一致」のオプションをチェックする必要があります。

Notepad++ ダイアログの置き換え

  • ^行の先頭に一致します。

  • (.*?)任意の文字に0回以上一致しますが、できるだけ少ない回数一致します(行に正確に一致します。これは「. 改行に一致」オプションのために必要です)。一致した行は括弧で囲まれているため保存され、次のようにアクセスできます。\1

  • $行末に一致します。

  • \s+?^この部分は、次の行の先頭までのすべての空白文字 (改行文字!) と一致します ==> これにより、一致した行の後の改行文字が削除され、置換後に空の行がなくなります。

  • (?=.*^\1$)これは肯定的な先読みアサーションです。これはこの正規表現の重要な部分で、ファイル内のどこかにまったく同じ行が続く場合にのみ行が一致 (および削除) されます。

おすすめ記事