Ich versuche alle Werte mit folgendem Muster zu finden:
value="4"
value="403"
value="200"
value="201"
value="116"
value="15"
und ersetzen Sie es durch Wert innerhalb der Bereiche.
Ich verwende den folgenden regulären Ausdruck, um das Muster zu finden:
.*"\d+"
Wie kann ich einen Ersatz machen?
Antworten:
Drücken Sie in Notepad ++ zum Ersetzen Ctrl+ H, um das Menü Ersetzen zu öffnen.
Wenn Sie dann die Schaltfläche "Regulärer Ausdruck" aktivieren und in Ihrem Ersatz einen Teil Ihres übereinstimmenden Musters verwenden möchten, müssen Sie "Gruppen erfassen" verwenden (lesen Sie mehr bei Google ). Angenommen, Sie möchten mit jeder der folgenden Zeilen übereinstimmen
mit dem
.*"\d+"
Muster und möchte nur die Nummer behalten. Sie können dann eine Erfassungsgruppe in Ihrem übereinstimmenden Muster verwenden, indem Sie Klammern verwenden(
und)
wie folgt :.*"(\d+)"
. Jetzt können Sie in Ihrem Ersatz einfach schreiben$1
, wobei 1 US-Dollar auf den Wert der ersten Erfassungsgruppe verweist und die Nummer für jedes erfolgreiche Spiel zurückgibt. Wenn Sie beispielsweise zwei Erfassungsgruppen hatten(.*)="(\d+)"
,$1
wird die Zeichenfolgevalue
und$2
die Nummer zurückgegeben.Also mit:
Finden:
.*"(\d+)"
Ersetzen:
$1
Es wird dich zurückbringen
Bitte beachten Sie, dass es viele alternative und bessere Möglichkeiten gibt, das oben genannte Muster abzugleichen. Zum Beispiel wäre das Muster
value="([0-9]+)"
besser, da es spezifischer ist und Sie sicher sind, dass es nur mit diesen Linien übereinstimmt. Es ist sogar möglich, den Ersatz ohne die Verwendung von Erfassungsgruppen vorzunehmen, aber dies ist ein etwas fortgeschritteneres Thema, also lasse ich es vorerst :)quelle
$1
hat bei mir nicht funktioniert. Ich habe\1
stattdessen verwendet und das hat funktioniert.\1
Funktioniert in allen Versionen von Notepad ++.$1
funktioniert nur in den neueren.Hex Editor
Plugin. Im Hex-Ansichtsmodus zeigt Notepad ++ dieRegular Expression
Option für Suchen / Ersetzen nicht an. Im Textansichtsmodus wird dieRegular Expression
Option Suchen / Ersetzen angezeigt. Ich verwende Notepad ++ Version 6.9.2, die derzeit die aktuelle Version ist.psxls gab eine großartige Antwort, aber ich denke, meine Notepad ++ - Version ist etwas anders, so dass die Erfassung von $ (Dollarzeichen) nicht funktioniert hat.
Ich habe Notepad ++ v.5.9.3 und hier ist, wie Sie Ihre Aufgabe erfüllen können:
Suchen Sie nach dem Muster: value = "([0-9] *)" und ersetzen Sie es durch: " 1" (was auch immer Sie um diese Erfassungsgruppe herum tun möchten)
Ex. Mit eckigen Klammern umgeben
[\ 1] -> erzeugt value = "[4]"
quelle
\1
Hat mir geholfen, die Nummer zu behalten, aber das Zitat dahinter zu entfernen. Ich hatte ungefähr 7400 Zeilen in einem Dokument wietablename.columnname = '12345'
. Das erste Zitat war leicht zu entfernen, das zweite wurde mit\1
dem Textfeld "Ersetzen" erstellt. Vielen Dank, +1Ersetzen
(.*")\d+(")
Mit
$1x$2
Wo
x
ist Ihr "Wert innerhalb der Bereiche".quelle
Ich habe Notepad ++ v6.8.8
Finden Sie : [([a-zA-Z])]
Ersetzen : [\ '\ 1 \']
Erzeugt: $ array [XYZ] => $ array ['XYZ']
quelle
Finden:
value="([\d]+|[\d])"
Ersetzen:
\1
Es wird dich wirklich zurückbringen
4
403
200
201
116
15
js:
quelle