2017-10-08 2 views
0

Dies ist, was ich in doc:Entfernen Linie vollständig (nicht verlassen leer)

1;01878916;BC101;FALSE 
16;01978916;BC101;FALSE 
17;0195B4E5;BC101;FALSE 
19;0197D016;BC101;FALSE 

Nachdem ich finde laufen & ersetzen: ^((1|17);.+?)$ mit: empty es verlässt

blankrow 
16;01978916;BC101;FALSE 
blankrow 
19;0197D016;BC101;FALSE 

und dann Ich muss suchen und ersetzen \s+$, um leere Zeile (n) zu entfernen und manuell erste leere Zeile entfernen.

Ich bin schwach mit regex, versucht, diese 2 Befehle zu einem zu kombinieren. Wie sollte es sein, komplett leere Zeilen zu entfernen, ohne die leere Zeile zu verlassen?

Um

16;01978916;BC101;FALSE 
19;0197D016;BC101;FALSE 

Vielen Dank im Voraus. Ich brauche Regex-Befehle, um FIND und Replace in allen geöffneten Dateien auszuführen, weil ich das in 10 Dateien gleichzeitig mache. Linienoperationen> Leere Linien entfernen ist keine Option.

+0

Versuch '^ (.? (1 | 17); +) (? \ R \ n | $)' –

+0

'^ (1 | 17) ;. +? \ s + 'sollte funktionieren – Nkoyan

+0

Beide Lösungen funktionieren, danke Jungs, das ist bei weitem nicht das, was ich ausprobiert habe :) – Orion310591

Antwort

0

Die Regex:

^(1|17);.+?\s+ 

oben erwähnt funktioniert hier gut, da es keine Leerzeichen am Anfang der Zeilen, die Sie behalten möchten. Wenn das überhaupt nicht der Fall ist, können Sie auch tun:

\s+^(1|17);.+?$ 
+1

Ich glaube, Sie verpasst am Ende $, \ s +^(1 | 17);. +? $ 'Ich muss die gesamte Zeile bis zum Ende, das ist vergleichbar mit den vorherigen, danke für Tipp – Orion310591

+0

Das ist richtig! Vielen Dank. – Marathon55