web-dev-qa-db-ja.com

Notepad ++で、文字のn番目のインスタンスを新しい行に置き換えます

このようなNAME|VALUEペアのパイプ区切り文字列があります。

Name1|Value1|Name2|Value2|Name3|Value3

私がやりたいのは、|の2番目のインスタンスを新しい行に置き換えて、次のようなものにすることです。

Name1|Value1
Name2|Value2
Name3|Value3

私が\r\nを使用できることがわかっているので、私の問題は改行ではなく、|の2番目のインスタンスのみを置き換える正規表現部分です。

6

検索:([^\|]*\|[^\|]*)\|
次に置き換え:\1\n

10
Máté Juhász

|の2番目のインスタンスをすべて置き換えたい新しい行で

  • メニュー「検索」>「置換」(または CtrlH

  • 「検索対象」を(.*?\|.*?)[\|]に設定します

  • 「置換」を\1\r\nに設定します

  • 「正規表現」を有効にする

  • 「すべて置換」をクリックします

    enter image description here

Name1|Value1|Name2|Value2|Name3|Value3

Name1|Value1
Name2|Value2
Name3|Value3

ノート:

  • 上記は、Windows EOL、\r\nでテキストファイルを編集していることを前提としています。

  • 異なるEOLのファイルを使用している場合は、メニューの[編集]> [EOL変換]を使用して、ファイルをWindows EOLに変換できます。

  • Windows EOLを使用しておらず、変換したくない場合は、代わりに以下を使用してください。

    • Unix/OS X EOLの場合、\nではなく\r\nを使用します

    • Mac OS(バージョン9まで)EOLの場合は\rではなく\r\nを使用します


参考文献

3
DavidPostill