Notepad ++ Suchstring mit einer neuen Zeile und Ersetzen

9670
Der Hochstapler

[Notizblock ++ Frage]

Wie verwende ich find-and-replace, um das Attribut einer Reihe von Tags mithilfe von expression zu ersetzen ?

Fallszenario:

Nehmen wir an, ich habe ein paar Zeilen von so etwas:

<li><a title="Bla bla" href= "http://www.url.com/etc">Text</a></li> 

Und ich möchte sie damit ersetzen:

<li><a title="Bla bla" href="">Text</a></li> 

Beachten Sie die neue Linie und die doppelten Registerkarten des Originals.

0

2 Antworten auf die Frage

4
JMD

Sprechen Sie speziell über die Zeilenumbrüche und die Doppelregisterkarten, indem Sie die Suche im erweiterten Suchmodus verwenden :

\ r \ n \ t \ t

und ersetzen mit:

(leer, nichts, leere Zeichenfolge)

Vorausgesetzt, Sie möchten die URL aus der href entfernen und eine leere Referenz übrig lassen, sollten Sie den Suchmodus für reguläre Ausdrücke verwenden, um Folgendes zu finden:

href = \ " (insert-http-url-regex-here) \"

und ersetzen mit:

href = \ "\"

Aus irgendeinem Grund verwendet notepad ++ die SciTE-Implementierung eines regulären Ausdrucks, bei dem es sich um ein zeilenweises Suchmuster handelt. Deshalb ist dies ein zweistufiger Prozess. Sie können reguläre Ausdrücke in Notepad ++ nicht zum Suchen von Zeilenumbrüchen verwenden. Vielleicht möchten Sie Textpad ausprobieren, wenn Sie diese Art von Arbeit ständig machen möchten. Doltknuckle vor 14 Jahren 3
Sicher, aber wie ich in meiner Antwort ausführlich beschrieben habe, KÖNNEN Sie im erweiterten Suchmodus Zeilenumbrüche finden. Ist es ein Problem, zwei Schritte auszuführen? Und während ich Textpad jahrelang verwendet und beworben habe, habe ich gewechselt, und der Fragesteller hat speziell nach Notepad ++ gefragt. JMD vor 14 Jahren 0
1
foraidt

AFAIK können Sie das Ersetzen von regulären Ausdrücken nicht über mehrere Zeilen hinweg (in Notepad ++) verwenden. Daher müssen Sie sie zuerst als Einzeiler definieren. So machen Sie das mit einem Makro:

  1. Drücken Sie CTRL+Fund geben Sie href=dann ein Enterund drücken Sie undEscape
  2. Aufnahme eines Makros beginnen ( CTRL+SHIFT+R)
  3. Drücken Sie Delete3 - mal (einmal für Zeilenumbrüche, zweimal für Tabs)
  4. Beenden Sie die Aufzeichnung des Makros ( CTRL+SHIFT+Rerneut).
  5. Drücken Sie F3, um das nächste href=Vorkommen zu suchen .
  6. Makro ausführen ( CTRL+SHIFT+P)
  7. Fahren Sie mit Schritt 5 fort, bis alle Vorkommnisse ersetzt sind.

Hinweis: Wenn alle Ihre href=Erscheinungen gleich sind, können Sie die Suche auch in das Makro einfügen (dh die Schritte 1 und 2 wechseln) und das Makro ausführen, bis sich alles in einer Zeile befindet.

Jetzt können Sie mit regulären Ausdrücken ( CTRL+H) suchen und ersetzen :
Suchen nach: href=".*">
Ersetzen durch:href="">