2016-07-29 5 views
2

Ich frage mich, wie man einen neuen Wert (oder eine neue Zeile) nach genau der fünften Textzeile in NotePad ++ einfügen soll. Meine Lösung (Kombinationen von anderen):notepad ++ Wert in einzelne (bestimmte) Zeile einfügen (String nicht verwenden)

Suche: \A(.*.)\r\n(.*.)\r\n(.*.)\r\n(.*.)
ändern: \1\r\n\2\r\n\3\r\n\4\r\n\5STRING

Eingang:

12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 

Ausgang:

12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
STRING 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 

Gibt es eine andere (besser lesbare) Option, dies zu tun?

+0

Benutzen Sie das Menü => ** Suche ** => ** Goto ... **. Wähle Zeile und 5, dann fange einfach an zu tippen. – AdrianHHH

Antwort

3

können Sie verwenden, um eine Begrenzung quantifier {min,max}/{exact_num} mit einer Gruppierung Konstrukt, das Linie entspricht, und Sie müssen auch das gesamte Dokument mit dem \A und \z Anker für das Muster Ersatz in beide Replace arbeiten entsprechen und Find in Files:

\A((?:.*\R){4})([\s\S]*)\z 

und ersetzen mit $1STRING\r\n$2. Setzen Sie den Cursor einfach an den Anfang des Dokuments und drücken Sie zweimal auf Replace.

Einzelheiten:

  • \A - Anfang des Dokuments
  • ((?:.*\R){4}) - (Gruppe 1 später referenziert mit $1 aus dem Ersatz-Muster) Match 4 Sequenzen von 0+ Zeichen andere als eine neue Zeile (.*) bis zum Ende der Zeile und dem Zeilenumbruch (\R, fügen Sie + hinzu, wenn mehrere Zeilenumbrüche möglich sind, oder ?, wenn nur 4 Zeilen im Dokument vorhanden sein können, oder * if es kann 0 oder mehr Zeilenumbrüche sein)
  • ([\s\S]*) - (Gruppe 2 später referenziert mit $2 Rückreferenzierung) entspricht 0+ alle Zeichen, bis eine neue Zeile darunter zu
  • \z - ganz am Ende des Dokuments.

Die Ersetzungsmuster enthalten die Rückreferenzierung $1, die Gruppe 1 bezieht, STRING\r\n (STRING mit einem CRLF Zeilenumbruch) und eine $2 Rückreferenzierung.

Jetzt können Sie auf Alle ersetzen klicken, und Sie erhalten den einzelnen Ersatz in Ihrem Dokument durchgeführt.

enter image description here

+0

Danke, aber die Idee ist, dass ich es für eine Gruppe von Dateien (mit mehreren Zeilen) in "in Dateien suchen" nach Katalog verwenden und den neuen Wert genau einmal an genau einem Ort eingeben soll. Also sollte die Zählung in der Datei sein: Anzahl: 1 Übereinstimmungen (nicht 3 Mal wenn die Anzahl der Zeilen 15 ist). Ich habe ein paar Probleme mit der Wiederherstellung Ihres Patterns \ A (?:. * \ R) {4}. Kannst du helfen ? – Khomaniac

+0

Meinst du, die Suche in Dateien funktioniert so, als ob du auf die Schaltfläche "Alle ersetzen" geklickt hast? Ich denke, Sie können '\ A ((?:. * \ R) {4}) ([\ s \ S] *) \ z' verwenden und durch' $ 1STRING \ r \ n $ 2' ersetzen –

Verwandte Themen