Frage Notepad ++ Suchen und Ersetzen Zeichenfolge mit einer neuen Zeile


Stellen Sie sich das Szenario vor, 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 Newline-Zeichen (oder eine Zeichenfolge) enthält.

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

In dem obigen Szenario würde ich gerne finden " xyz" und Ersetzen Sie den Raum mit einem Wagenrücklauf / Zeilenumbruch.

Die Ergebnisse würden wie folgt aussehen:

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

etc...

Frage: Wie würden Sie dies am einfachsten mit Notepad ++ erreichen? Gibt es andere Tools, die Sie vorschlagen, um diesen Befehl einfach auszuführen?


194
2017-09-02 17:57


Ursprung




Antworten:


Notepad ++ geht gut.

Suchbegriff:

 xyz
 Merken Sie sich den Platz vor xyz.

Zeichenfolge ersetzen:

\ r \ nxyz

Sie müssen auch die einstellen "Suchmodus" zu "Verlängert" (Unteres Gruppenfeld links in der Ersetzen dialog), sodass Notepad ++ die Escape-Codes berücksichtigt.


Etwas Hintergrund: "\ r \ n" ist der Escape-Code für Wagenrücklauf, der Standard für neue Zeilen in Windows. Unix-Stil-Systeme verwenden einfach \ n (Newline). Die meisten IDEs, einschließlich Notepad ++, werden beide Stile verstehen und sie jeweils mit neuen Zeilen darstellen, aber Kern-Windows-Dienstprogramme verstehen \ n nicht als äquivalent zu \ r \ n, daher ist letzteres normalerweise am besten geeignet, wenn die Datei beabsichtigt ist in Windows-Umgebungen verwendet werden.


261
2017-09-02 18:02



\ r \ n = Windows Newline-Syntax. Jedoch für alles andere als normalen alten Notizblock, wird es nur \ n für eine Zeilenschaltung akzeptieren (die auch konventioneller ist). - Macha
Ihre Formulierung "konventioneller" ist irreführend. "\ r \ n" ist der Standard unter Windows. Es ist nur so, dass viele Editoren und IDEs die Unix / Linux-Standardzeilenendung "\ n" erkennen und das Dokument entsprechend anzeigen. Es gibt nichts an "\ n", das es konventioneller macht. - Brian Lacy
Um ehrlich zu sein, macht die Win / DOS-Version für mich mehr Sinn. "\ r" bedeutet "Wagenrücklauf, oder 'Den Wagen / Cursor zum Zeilenanfang zurückbringen" "und" \ n "bedeutet" Wagen / Cursor eine Zeile vorschieben ". Natürlich kam Unix vor 20 Jahren, also denke ich, dass Microsoft den Standard gebrochen hat. - Brian Lacy
Dies funktioniert nicht, wenn Sie den Suchmodus nicht wie in der anderen Antwort angegeben einstellen: superuser.com/questions/34451/ ... - codeulike
Wenn Sie versuchen, die Literal-Zeichenkette "\ r \ n" durch eine neue Zeile zu ersetzen, musste ich Folgendes tun: Suchmodus auf normal stellen, Suchen / Ersetzen \ r \ n mit ***. Setzen Sie den Suchmodus dann auf Erweitert, suchen / ersetzen Sie *** mit \ r \ n. - goku_da_master


In Notepad ++ ist es sehr einfach ...

  • Finde: xyz
  • Ersetzen durch: \ n


  • Suchmodus: Erweitert (\ n, \ t, etc)

Der Trick besteht darin, den Suchmodus einzustellen.


59
2017-09-02 18:01



Diese Antwort funktionierte für mich, die angenommene nicht. Ver 5.8.6 - bdwakefield
Ja gleich hier die angenommene Antwort hat nicht mit dem erweiterten Modus angegeben .. - Andy
Suchmodus ist der Schlüssel, danke für das Posten. - Jrod
Warum nicht \r\n (Anstatt von \n) - Peter Mortensen


Stellen Sie im "Ersetzen" -Dialog sicher, dass Sie im Suchmodus "Erweitert" ausgewählt haben. Geben Sie dann das Suchfeld ein, geben Sie "xyz" ein und ersetzen Sie es durch "\ n".


5
2017-09-02 18:01



Warum nicht \r\n (Anstatt von \n) - Peter Mortensen


Ich schummle ein wenig, wenn S & Ring-Zeichen, die ich nicht direkt in die Textfelder eingeben kann (z. B. Tabulatoren und Zeilenumbrüche). Suchen Sie im Dokument, das dieses Zeichen bereits enthält, eine Kopie, kopieren Sie es und fügen Sie es in das Ersetzen-Feld ein.

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


4
2017-09-02 17:59





Ändern Sie für Notepad ++ den Suchmodus zu Verlängert dann in der Ersetzen mit Feld Verwendung \ n.


2
2017-09-02 18:02



Warum nicht \r\n (Anstatt von \n) - Peter Mortensen