2016-08-06 10 views
0

Ich habe eine Datei, in der Inhalte in unterschiedlicher Reihenfolge vorhanden sind. Ich möchte die Zeilen, die zwischen zwei Leerzeilen auftreten, zu einer einzigen Zeile zusammenführen. Beispiel:Zeilen mit einer bestimmten Bedingung zusammenführen

Diese
war
nicht gut

Kann
es
sein
wie
dieser

getan

zu

Das war nicht gut

Kann es wie dieses

enter image description here

+0

Ist das die tatsächliche Datei, oder könnte es mehr als eine Spalte geben? Im Moment gibt es nichts, was darauf hindeutet, dass es sich um eine CSV-Datei handelt (da es keine Kommas gibt) ... –

+0

Behandle es als String und ersetze '(?

+0

@TimPietzcker Ich habe ein Beispielbild –

Antwort

1

Ersetzen Sie alle Zeilenumbrüche erfolgen, die nicht von einem anderen Newline mit einem Leerzeichen für

durch die Suche
\r?\n(?!\r?\n) 

und durch " " ersetzen.

+0

Dies wird auch die zusätzliche neue Zeile zwischen "Das war nicht gut" und "Kann es so gemacht werden" entfernt und fügt ein Leerzeichen am Anfang jeder Zeile nach dem ersten hinzu. – horcrux

+0

Aus Neugier: Nur für den Fall, dass zwei leere Zeilen ersetzt werden sollen? –

+0

Was meinst du? Zwei Zeilen sollten ersetzt werden, aber nicht drei? –

0

Scheint, dass Gedit ? Operator in Lookbehind nicht unterstützt. Das funktionierte für mich:

(?<!\n)\r?\n(?!\r?\n) 
Verwandte Themen