Wie kann ich alle CR/LF-Zeichen in Notepad ++ finden/ersetzen?
Ich suche nach etwas, das dem Sonderzeichen ^ p in Microsoft Word entspricht.
[\r\n]+
sollte auch funktionieren
Update 26. März 2012, Erscheinungsdatum von Notepad ++ 6.:
OMG, es funktioniert jetzt tatsächlich !!!
Ursprüngliche Antwort 2008 (Notepad ++ 4.x) - 2009-2010-2011 (Notepad ++ 5.x)
Eigentlich nein, es scheint nicht mit regulären Ausdrücken zu funktionieren ...
Wenn Sie jedoch Notepad ++ 5.x verwenden, können Sie den erweiterten Suchmodus '' verwenden und nach \r\n
suchen. Das findet alle Ihre CRLF
.
(Mir ist klar, dass dies die gleiche Antwort ist wie die anderen, aber der erweiterte Modus ist nur mit Notepad ++ 4.9, 5.x und mehr verfügbar.)
Seit April 2009 gibt es auf der Notepad ++ - Site einen Wiki-Artikel zu diesem Thema:
"So ersetzen Sie Zeilenenden und ändern so das Zeilenlayout".
(Erwähnt von Georgiecasey in seinem/ihrem Antwort unten )
Einige relevante Auszüge umfassen die folgenden Suchvorgänge:
Einfache Suche (Ctrl+F), Suchmodus =
Normal
Sie können im Bearbeitungsfenster eine
EOL
auswählen.
- Bewegen Sie den Cursor einfach an das Ende der Zeile und tippen Sie Shift+Right Pfeil.
- oder, um
EOL
mit der Maus auszuwählen, beginnen Sie am Zeilenende und ziehen Sie an den Anfang der nächsten Zeile. Das Ziehen nach rechts vonEOL
funktioniert nicht. Sie könnenEOL
manuell kopieren und in das Feld für Unix-Dateien einfügen (nurLF
-).Einfache Suche (Strg + F), Suchmodus = Erweitert
Die Option "Erweitert" zeigt
\n
und\r
als übereinstimmende Zeichen an.
Wie beim normalen Suchmodus sucht Notepad ++ nach dem genauen Zeichen.
Wenn Sie in einer Datei im UNIX-Format nach\r
suchen, werden Sie nichts finden, sondern nach\n
suchen. Ebenso enthält eine Datei im Macintosh-Format\r
, jedoch nicht\n
.Einfache Suche (Strg + F), Suchmodus = Regulärer Ausdruck
Reguläre Ausdrücke verwenden die Zeichen
^
und$
, um die Übereinstimmungszeichenfolge am Anfang oder Ende der Zeile zu verankern. Wenn Sie beispielsweise nachreturn;$
suchen, wird "return" vorkommen. die ohne nachfolgenden Text in derselben Zeile auftreten. Die Ankerzeichen funktionieren in allen Dateiformaten identisch.
Das '.' Das Punkt-Metazeichen stimmt nicht mit den Zeilenenden überein.[Getestet in Notepad ++ 5.8.5]: Eine Suche nach regulären Ausdrücken mit einem expliziten
\r
oder\n
funktioniert nicht (im Gegensatz zur Scintilla-Dokumentation ) .
Es wird auch nicht nach einer expliziten (eingefügten) LF oder nach (unsichtbaren) EOL-Zeichen gesucht, die in das Feld eingefügt werden, wenn eine EOL ausgewählt wird. Erweiterte Suche (Ctrl+R) ohne regulären AusdruckCtrl+M fügt etwas ein, 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 beispielsweise jede zweite neue Zeile in einer Datei mit doppeltem Abstand zu entfernen, geben Sie Folgendes ein Ctrl+M zweimal im Suchfeld und einmal im Ersetzungsfeld.Erweiterte Suche (Ctrl+R) mit Regexp.
Weder Ctrl+M,
$
und\r\n
stimmen überein.
Das gleiche Wiki erwähnt auch die Hex-Editor-Alternative :
- Geben Sie die neue Zeichenfolge am Anfang des Dokuments ein.
- Wählen Sie dann , um das Dokument im Hex-Modus anzuzeigen .
- Wählen Sie eine der neuen Linien und drücken Sie Ctrl+H.
- Wählen Sie im Dialogfeld Ersetzen im Hintergrund die neue Ersetzungszeichenfolge und aus Ctrl+C Kopieren Sie es, um es in das Feld Durch Texteingabe ersetzen einzufügen.
- Ersetzen Sie dann oder ersetzen Sie alle, wie Sie wünschen.
Hinweis: Das für die neue Zeile ausgewählte Zeichen wird normalerweise als
0a
angezeigt.
Es kann einen anderen Wert haben, wenn die Datei im Windows-Format vorliegt. In diesem Fall können Sie immer zuEdit -> EOL Conversion -> Convert to Unix Format
wechseln und nach dem Ersetzen wieder zuEdit -> EOL Conversion -> Convert to Windows Format
wechseln.
Es scheint, dass dies eine FAQ ist und die angebotene Auflösung ist:
Einfache Suche (Strg + H) ohne Regex
Sie können "Zeilenende anzeigen/anzeigen" aktivieren oder Ansicht/Alle anzeigen und wählen Sie jetzt sichtbare Zeilenumbrüche. Dann wenn Sie starten den Befehl mit einigen Zeichen Das Zeilenvorschubzeichen wird mit in das Suchfeld eingefügt. Streichhölzer wird durch das Ersetzen ersetzt String, anders als im Regex-Modus.
Hinweis 1: Wenn Sie sie mit .__ auswählen. Maus, starte direkt vor ihnen und ziehe zum Anfang der nächsten Zeile . Ziehen an das Ende der Linie wird nicht Arbeit.
Hinweis 2: Sie können nicht kopieren und einfügen sie selbst ins Feld.
Erweiterte Suche (Strg + R) ohne Regex
Strg + M fügt etwas ein, das den Zeilenumbrüchen entspricht. Sie werden durch die Ersetzungszeichenfolge ersetzt.
Im Dialogfeld "Ersetzen" möchten Sie den Suchmodus auf "Erweitert" setzen. Der normale oder reguläre Ausdruck funktioniert nicht.
Dann suchen Sie einfach nach "\ r\n" (oder\n für Unix-Dateien oder\r für Mac-Formatdateien), und legen Sie als Ersatz fest, was Sie möchten.
Ich hatte mit\r\n regulären Ausdrücken aus dem Find/Replace-Fenster nicht viel Glück.
Dies funktioniert jedoch in Notepad ++ v4.1.2:
Verwenden Sie das Menü "Ansicht | Ende der Zeile anzeigen", um die Anzeige der Zeilenendezeichen zu aktivieren. (Die Zeilenumbrüche für die Zeilenschaltung sollten als einzelnes, schattiertes CRLF-Zeichen angezeigt werden.)
Wählen Sie eines der CRLF-Zeichen aus (setzen Sie den Cursor direkt vor ein Zeichen, halten Sie die UMSCHALTTASTE gedrückt und drücken Sie dann einmal die RECHTS-CURSOR-Taste).
Kopieren Sie das CRLF-Zeichen in die Zwischenablage.
Stellen Sie sicher, dass Sie nicht den Dialog zum Suchen oder Suchen/Ersetzen geöffnet haben.
Öffnen Sie den Dialog "Suchen/Ersetzen" . Das Feld "Suchen nach" zeigt den Inhalt der Zwischenablage: in diesem Fall das CRLF-Zeichen - das als 2 "Box-Zeichen" angezeigt wird (vermutlich ein nicht druckbares Zeichen?)
Stellen Sie sicher, dass die Option 'Regulärer Ausdruck' deaktiviert ist.
Jetzt sollten Sie in der Lage sein, wie gewünscht zu zählen, zu suchen oder zu ersetzen.
Bild mit CRLF
Bild ohne CRLF
Ich fand, dass es funktioniert, indem Sie die Funktion Ersetzen verwenden und "\ n" im Modus "Erweitert" verwenden. Ich verwende Version 5.8.5.
In 2013, Version 6.13 oder höher, verwenden Sie Folgendes:
Menü Bearbeiten → EOL-Konvertierung → Windows-Format .
Verwenden Sie die erweiterte Suche (Ctrl + R) und verwenden Sie die Tastenkombination für CRLF (Ctrl + M), um einen Wagenrücklauf einzufügen.
Angenommen, es gibt eine Suche nach "regulären Ausdrücken", suchen Sie nach\r\n. Ich bevorzuge\r?\N, weil einige Dateien keine Zeilenumbrüche verwenden.
EDIT: Vielen Dank für das Feedback, wer auch immer abgelehnt hat. Ich habe das gelernt ... nun, nichts, weil Sie keine Rückmeldung gegeben haben. Warum ist das falsch?
Wenn Sie einen komplexen Austausch des regulären Ausdrucks durchführen müssen, einschließlich\r\n, können Sie die Einschränkung durch einen dreistufigen Ansatz umgehen:
\r\n
durch ein Tag, sagen wir #GO#
→ Aktivieren Sie 'Extended' und ersetzen Sie \r\n
durch #GO#
.ICON="*"
aus einem HTML-Lesezeichen. → Überprüfen Sie den Ausdruck regexp und ersetzen Sie ICON=.[^"]+.> by >
.#GO#
durch \r\n
ersetzenGehen Sie zu Ansicht -> Symbol anzeigen -> Alle Zeichen anzeigen // Es hat für mich gearbeitet
Ich habe die Datei in Notepad ++ geöffnet und in wenigen Schritten ersetzt:
Dadurch werden alle Unterbrechungen an die richtigen Stellen gesetzt und diejenigen entfernt, die die Datei auflösen.
Es hat für mich funktioniert.
Nehmen Sie diese Einstellung vor. Menü-> Ansicht-> Symbol anzeigen-> Deaktivieren Sie das Kontrollkästchen Ende der Zeile anzeigen
Ich konnte dies in NP v6.9 ..__ absolut nicht tun. Ich fand es leicht genug für Msoft Word (2K).
Öffne das Dokument, gehe zu Bearbeiten-> Ersetzen.
Klicken Sie dann im unteren Bereich des Suchfelds auf "mehr" und suchen Sie nach der Schaltfläche "Spezial". Dort finden Sie mehrere Dinge für Sie. Für den DOS-Stil habe ich den "Absatz" verwendet. Dies ist ein cr lf-Paar in Windows.
Führen Sie einfach ein\r mit einem Suchen aus und ersetzen Sie es durch ein Leerzeichen im Ersetzungsfeld, damit alles bis zu einer Zeile hochgeht. Dann suchen und ersetzen (in meinem Fall durch Semikolon) und ersetzen mit;\n
:) -T & C
Vielleicht können Sie TextFX-Plugins verwenden
Gehen Sie in TextFX zu textfx edit → leere Zeilen löschen
So ändern Sie ein Dokument mit mehreren Zeilen in eine einzelne Zeile, wobei jede Zeile einen Eintrag in einer durch Kommas getrennten Liste bildet:
\r\n
".,
" oder ",
" (je nach Präferenz).Diese Schritte drehen , z. B.
foo Bar
bar Baz
baz foo
in:
foo Bar, Bar Baz, Baz Foo
oder: (je nach Präferenz)
foo Bar, Bar Baz, Baz Foo