Skip to content

[Notepad++] Text suchen und ganze Zeilen löschen

Ich hatte heute die Problemstellung, dass ich aus ca. 50 Dateien einen Text suchen und die gesamte Zeile löschen wollte.

Grundsätzlich geht das mit NPP sehr einfach, da man im “Suchen & Ersetzen”-Dialog auch mehrere Dateien/Ordner in einem Schwung bearbeiten kann.

Mein erster Versuch war, den folgenden Suchstring (Regulärer Ausdruck) gegen leer zu ersetzen, allerdings bleibt dann eben die leere Zeile in der Datei erhalten
^(#4=IFCAPPLICATION(.*);|#5=IFCOWNERHISTORY(.*);)$

Der Trick ist jedoch – die Lösung fand ich auf schabau.eu – das Zeilenende nicht mit $ zu definieren, sondern mit \r\n
^(#4=IFCAPPLICATION(.*);|#5=IFCOWNERHISTORY(.*);)\r\n
Damit verschwindet dann auch die leere Zeile vollständig, da der Zeilenumbruch mit gesucht und gelöst wird.

Zwei Dinge sind zu beachten:

  • \r\n gilt nur für Windows, unter Linux muss \r ohne das \n genutzt werden. Wäre ja sonst auch zu einfach. wink
  • der Haken bei “. findet \r und \n” muss deaktiviert sein, da bei Regexp sonst mehrzeilig gesucht wird