339 Stimmen

CRLF in Notepad++ finden

Wie kann ich alle CR/LF-Zeichen in Notepad++ finden/ersetzen?

Ich bin auf der Suche nach etwas, das dem Sonderzeichen ^p in Microsoft Word entspricht.

432voto

VonC Punkte 1117238

[\r\n]+ sollte auch funktionieren

Update 26. März 2012, Erscheinungsdatum von Notepad++ 6.0 :

OMG, jetzt funktioniert es tatsächlich!!!

PCRE regexp in Notepad++


Originalantwort 2008 (Notepad++ 4.x) - 2009-2010-2011 (Notepad++ 5.x)

Eigentlich nicht, es scheint nicht mit regexp zu funktionieren...

Wenn Sie jedoch Notepad++ 5.x haben, können Sie die Option ' erweitert ' Suchmodus und suchen Sie nach \r\n . So finden Sie alle Ihre CRLF .

(Mir ist klar, dass dies die gleiche Antwort ist wie die anderen, aber auch hier ist der "erweiterte Modus" nur mit Notepad++ 4.9, 5.x und mehr verfügbar)


Seit April 2009 gibt es auf der Notepad++-Seite einen Wiki-Artikel zu diesem Thema:
" So ersetzen Sie die Leitungsenden und ändern damit das Leitungslayout ".
(erwähnt von georgiecasey in seinem/ihrem Antwort unten )

Einige relevante Auszüge umfassen die folgenden Suchprozesse:

Einfache Suche ( Ctrl + F ), Suchmodus = Normal

Sie können eine EOL im Bearbeitungsfenster.

  • Bewegen Sie einfach den Cursor an das Ende der Zeile und geben Sie Shift + Right Pfeil.
  • oder, um zu wählen EOL mit der Maus direkt am Zeilenende beginnen und bis zum Anfang der nächsten Zeile ziehen; das Ziehen nach rechts vom EOL w Sie können manuell die EOL und fügen Sie ihn in das Feld für Unix-Dateien ( LF -nur).

Einfache Suche (Ctrl+F), Suchmodus = Erweitert

Die Option "Erweitert" zeigt \n y \r als Zeichen, die abgeglichen werden können.
Wie beim normalen Suchmodus sucht Notepad++ nach dem genauen Zeichen.
Auf der Suche nach \r in einer Datei im UNIX-Format wird nichts gefunden, aber die Suche nach \n wird. Ähnlich enthält eine Datei im Macintosh-Format \r aber nicht \n .

Einfache Suche (Strg+F), Suchmodus = Regulärer Ausdruck

Reguläre Ausdrücke verwenden die Zeichen ^ y $ um die Übereinstimmungszeichenfolge am Anfang oder Ende der Zeile zu verankern. Zum Beispiel kann die Suche nach return;$ findet Vorkommen von "return;", die ohne nachfolgenden Text in derselben Zeile vorkommen. Die Ankerzeichen funktionieren in allen Dateiformaten identisch.
Das Punkt-Metacharakter '.' passt nicht zu Zeilenenden.

[Getestet in Notepad++ 5.8.5]: eine Suche mit regulären Ausdrücken mit einer expliziten \r o \n funktioniert nicht (im Gegensatz zur Scintilla-Dokumentation ) .
Auch eine Suche nach einem expliziten (eingefügten) LF oder nach den (unsichtbaren) EOL-Zeichen, die in das Feld eingefügt werden, wenn ein EOL ausgewählt wird, ist nicht möglich. Erweiterte Suche ( Ctrl + R ) ohne Regexp

Ctrl + M wird etwas einfügen, das mit Zeilenumbrüchen übereinstimmt. Sie werden durch die Ersetzungszeichenfolge ersetzt.
Ich empfehle diese Methode als die zuverlässigste, es sei denn, Sie müssen wirklich Regex verwenden.
Um zum Beispiel jeden zweiten Zeilenumbruch in einer Datei mit doppeltem Zeilenabstand zu entfernen, geben Sie ein Ctrl + M zweimal in das Feld für den Suchbegriff und einmal in das Feld für den Ersetzungsbegriff.

Erweiterte Suche ( Ctrl + R ) mit Regexp.

Weder Ctrl + M , $ noch \r\n abgeglichen werden.


Das gleiche Wiki erwähnt auch die Alternative zum Hex-Editor :

  • Geben Sie die neue Zeichenfolge am Anfang des Dokuments ein.
  • Wählen Sie dann das Dokument im Hex-Modus anzeigen .
  • Wählen Sie eine der neuen Zeilen aus und drücken Sie Ctrl + H .
  • Während Sie das Dialogfeld Ersetzen geöffnet haben, wählen Sie im Hintergrund die neue Ersetzungszeichenfolge aus und Ctrl + C Kopieren Sie den Text, um ihn in das Eingabefeld Ersetzen durch einzufügen.
  • Ersetzen Sie dann je nach Wunsch Ersetzen oder Alle ersetzen.

Hinweis: Das für die neue Zeile ausgewählte Zeichen erscheint normalerweise als 0a .
Der Wert kann sich ändern, wenn die Datei im Windows-Format vorliegt. In diesem Fall können Sie immer zu Edit -> EOL Conversion -> Convert to Unix Format und nach dem Austausch wieder zurückschalten und Edit -> EOL Conversion -> Convert to Windows Format .

23voto

Sundar R Punkte 9749

Es scheint, dass es sich um eine FAQ und die angebotene Entschließung lautet:

Einfache Suche (Ctrl+H) ohne Regexp

Sie können Ansicht/Ende der Zeile anzeigen einschalten oder Ansicht/Alles anzeigen einschalten und die nun sichtbaren Zeilenumbrüche. Wenn dann Sie den Befehl starten, werden einige Zeichen die mit dem Zeilenumbruch übereinstimmen, in das in das Suchfeld eingefügt. Übereinstimmungen werden durch den Befehl replace Zeichenfolge ersetzt, anders als im Regex-Modus.

Hinweis 1: Wenn Sie sie mit der Maus auswählen Maus markieren, beginnen Sie direkt davor und ziehen bis zum Anfang der nächsten Zeile. Ziehen bis zum Ende der Zeile funktioniert nicht funktioniert nicht.

Hinweis 2: Sie können nicht kopieren und einfügen selbst in das Feld einfügen.

Erweiterte Suche (Ctrl+R) ohne Regexp

Mit Strg+M können Sie etwas einfügen, das mit Zeilenumbrüchen übereinstimmt. Sie werden durch die Ersetzungszeichenfolge ersetzt.

11voto

Nathen Silver Punkte 429

Im Dialogfeld Ersetzen möchten Sie den Suchmodus auf "Erweitert" einstellen. Die Modi "Normal" oder "Regulärer Ausdruck" funktionieren nicht.

Dann suchen Sie einfach nach " \r\n " (oder einfach \n für Unix-Dateien oder einfach \r für Dateien im Mac-Format), und setzen Sie die Ersetzung auf den gewünschten Wert.

9voto

Ich habe nicht viel Glück gehabt mit \r\n reguläre Ausdrücke aus dem Fenster Suchen/Ersetzen.

Dies funktioniert jedoch in Notepad++ v4.1.2:

  1. Verwenden Sie das Menü "Ansicht | Zeilenende anzeigen", um die Anzeige von Zeilenendezeichen zu aktivieren. (Wagenrücklauf-Zeilenvorschübe sollten als einzelnes schattiertes CRLF-Zeichen angezeigt werden).

  2. Wählen Sie eines der CRLF-Zeichen aus (setzen Sie den Cursor direkt vor eines der Zeichen, halten Sie die SHIFT-Taste gedrückt und drücken Sie dann einmal die rechte CURSOR-Taste).

  3. Kopieren Sie das CRLF-Zeichen in die Zwischenablage.

  4. Stellen Sie sicher, dass Sie nicht das Dialogfeld Suchen oder Suchen/Ersetzen geöffnet haben.

  5. Öffnen Sie den Dialog Suchen/Ersetzen. Das Feld "Suchen nach" zeigt den Inhalt der Zwischenablage an: in diesem Fall das CRLF-Zeichen, das als 2 "Kästchen-Zeichen" angezeigt wird (vermutlich ist es ein nicht druckbares Zeichen?)

  6. Stellen Sie sicher, dass die Option "Regulärer Ausdruck" ausgeschaltet ist.

Jetzt sollten Sie je nach Wunsch zählen, suchen oder ersetzen können.

6voto

Bild mit CRLF

enter image description here


Bild ohne CRLF

enter image description here

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X