Notepad ++ Suchen und ersetzen Sie die Zeichenfolge durch eine neue Zeile

647882
p.campbell

Betrachten Sie das Szenario, in dem Sie eine bestimmte Zeichenfolge haben, die Sie suchen und ersetzen möchten. Sie möchten es durch eine neue Zeichenfolge ersetzen, die ein Zeilenvorschubzeichen (oder eine Zeichenfolge) enthält.

abc123 xyz456-blah fsafd23 xyz456-green 89hjkf23 xyz456-red afdsa23 xyz456-yellow abaac123 xyz456-orange 

Im obigen Szenario möchte ich " xyz" suchen und das Leerzeichen durch einen Wagenrücklauf / Zeilenvorschub ersetzen.

Die Ergebnisse würden folgendermaßen aussehen:

abc123 xyz456-blah fsafd23 xyz456-green 89hjkf23 xyz456-red ︙ 

usw...

Frage: Wie erreichen Sie dies am besten mit Notepad ++? Gibt es andere Tools, die Sie vorschlagen könnten, um diesen Befehl problemlos auszuführen?

204

5 Antworten auf die Frage

273
caliban

Notepad ++ wird gut funktionieren.

Suchbegriff:

 xyz
Beachten Sie den Platz vor xyz.

String ersetzen:

\ r \ nxyz

Sie müssen auch den "Suchmodus" auf "Erweitert" einstellen (unteres Gruppenfeld links im Dialogfeld " Ersetzen "), damit Notepad ++ Escape-Codes berücksichtigt.


Hintergrund: "\ r \ n" ist der Escape-Code für Wagenrücklauf, der Standard für neue Zeilen in Windows. Unix-artige Systeme verwenden einfach \ n (Newline). Die meisten IDEs (einschließlich Notepad ++) verstehen beide Stile und stellen sie jeweils mit neuen Zeilen dar. Die wichtigsten Windows-Dienstprogramme verstehen jedoch nicht, dass \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n in Windows-Umgebungen verwendet werden.

\ r \ n = Windows-Newline-Syntax. Für alles andere als den einfachen alten Notizblock akzeptiert \ n nur \ n für einen Newline (der auch konventioneller ist). Macha vor 15 Jahren 2
Ihr Ausdruck "konventioneller" ist irreführend. "\ r \ n" ist der Standard unter Windows. Es ist nur so, dass viele Editoren und IDEs die Unix / Linux-Standardzeile mit der Endung "\ n" erkennen und das Dokument entsprechend anzeigen. Es gibt nichts über "\ n", das es konventioneller macht. Brian Lacy vor 14 Jahren 3
Um ehrlich zu sein, ist die Win / DOS-Version für mich sinnvoller. "\ r" bedeutet "Wagenrücklauf oder" Wagen / Cursor an den Zeilenanfang zurücksetzen "" und "\ n" bedeutet "Wagen / Cursor eine Zeile vorrücken". Natürlich kam Unix vor 20 Jahren, also denke ich, dass Microsoft den Standard gebrochen hat. Brian Lacy vor 14 Jahren 0
Dies funktioniert nicht, wenn Sie den Suchmodus nicht wie in der anderen Antwort angegeben festlegen: http://superuser.com/questions/34451/notepad-find-and-replace-string-with-a-new-line/34454#34454 codeulike vor 13 Jahren 7
Wenn Sie versuchen, die Literalzeichenfolge "\ r \ n" durch eine tatsächliche neue Zeile zu ersetzen, musste ich Folgendes tun: Setzen Sie den Suchmodus auf "Normal" und suchen Sie \ r \ n mit ***. Setzen Sie dann den Suchmodus auf Extended, suchen / ersetzen Sie *** mit \ r \ n. goku_da_master vor 10 Jahren 7
@goku_da_master +1 das war genau das, was ich herausfinden wollte. Dachte vielleicht, es gäbe einen anderen Weg, aber das funktioniert gut = -) Mungoid vor 10 Jahren 0
Wie mache ich das andersherum? Ich möchte Dinge wie Zeilenumbrüche durch Text ersetzen. Aaron Franke vor 7 Jahren 0
Dies funktioniert auch umgekehrt. Ich habe nur ** ersetzt ** `\ r \ n verwendet `** mit **` <\ item> \ r \ n \ r \ n `in N ++ beim Lesen eines XML-Dokuments, um eine leere Zeile zwischen den einzelnen Elementen einzufügen, visuell zu trennen und das Lesen zu erleichtern. Isaac Reefman vor 6 Jahren 0
\ r \ n hat für mich nicht funktioniert, aber überraschend. NP ++ v 7,75. Ich habe versucht, ";" zu ersetzen. mit Wagenrücklauf. Vinnie vor 6 Jahren 0
61
th3dude

In Notepad ++ ist das sehr einfach ...

  • Suche: xyz
  • Ersetzen durch: \ n


  • Suchmodus: Erweitert (\ n, \ t usw.)

Der Trick besteht darin, den Suchmodus einzustellen.

Diese Antwort funktionierte für mich, die akzeptierten nicht. Ver 5.8.6 bdwakefield vor 13 Jahren 1
Ja, hier wurde in der akzeptierten Antwort nicht der erweiterte Modus angegeben. Andy vor 13 Jahren 0
Suchmodus ist der Schlüssel, danke für das Posten. Jrod vor 12 Jahren 2
Warum nicht "\ r \ n" (statt "\ n")? Peter Mortensen vor 6 Jahren 0
5
tj111

Stellen Sie im Dialogfeld "Ersetzen" sicher, dass Sie unter Suchmodus "Erweitert" ausgewählt haben. Geben Sie dann in das Suchfeld "xyz" ein und ersetzen Sie es mit "\ n".

Warum nicht "\ r \ n" (statt "\ n")? Peter Mortensen vor 6 Jahren 1
4
Macha

Ich betrüge ein wenig, wenn S & Ring-Zeichen, die ich nicht direkt in die Textfelder eingeben kann (z. B. Tabs und Zeilenumbrüche). Suchen Sie im Dokument nach einer Stelle, die dieses Zeichen bereits hat, kopieren Sie es und fügen Sie es in das Ersetzungsfeld ein.

Beginnen Sie also in Ihrem Beispiel am Anfang einer Zeile, klicken Sie auf, ziehen Sie bis zum Ende der vorhergehenden Zeile, kopieren Sie diese und fügen Sie sie in das Dialogfeld "Ersetzen" ein.

2
dlux

Ändern Sie für Notepad ++ den Suchmodus in " Erweitert", und verwenden Sie im Feld " Ersetzen durch" \ n .

Warum nicht "\ r \ n" (statt "\ n")? Peter Mortensen vor 6 Jahren 1