Zeilen verbinden, bis eine „abschließende“ Zeichenfolge erreicht ist

Zeilen verbinden, bis eine „abschließende“ Zeichenfolge erreicht ist

In einer Datei habe ich Daten wie die folgenden:

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

Ich muss die Zeilen so ändern, dass sie folgendermaßen aussehen:

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

d.h. bis auf eine bestimmte Zeichenfolge (eine Folge von Bindestrichen) sollen die Zeilen zusammengeführt werden.

Ich habe viele Methoden ausprobiert, aber ich bekomme es nicht zum Laufen.

Meine eigentliche Datei enthält etwa 15.000 Zeilen.

Antwort1

So können Sie das erledigen: Dabei werden alle Zeilenumbrüche, denen kein Bindestrich vorangestellt ist, durch ein Leerzeichen ersetzt:

  • Ctrl+H
  • Finde was:(?<!-)\R
  • Ersetzen mit:A SPACE
  • check Umwickeln
  • check Regulärer Ausdruck
  • Replace all

Erläuterung:

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

Ergebnis für gegebenes Beispiel:

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

verwandte Informationen