「終了」文字列に達するまで行を結合する

「終了」文字列に達するまで行を結合する

ファイルには次のようなデータがあります。

123
456
789
---
101112
131415
161718
192021
------
222223242526
27282930313233
-----------------------

次のように行を変更する必要があります。

123 456 789 ---
101112 131415 161718 192021 ------
222223242526 27282930313233 -----------------------

つまり、特定の文字列 (ハイフンのシーケンス) までの行が結合されます。

いろいろな方法を試しましたが、うまくいきません。

実際のファイルには約 15000 行あります。

答え1

この作業を実行する方法は次のとおりです。これにより、先頭にダッシュがないすべての改行がスペースに置き換えられます。

  • Ctrl+H
  • 検索対象:(?<!-)\R
  • と置換する:A SPACE
  • チェック ラップアラウンド
  • 正規表現をチェック
  • Replace all

説明:

(?<!-)  : negative lookbehind, make sure we don't have a dash before
\R      : any kind of linebreak

与えられた例の結果:

123 456 789 ---
101112 131415 161718 192021 ------
222223242526 27282930313233 -----------------------

関連情報