mit Excel VBA, versuche ich, alle Instanzen von einem einfachen Muster zu ersetzen, die wie folgt aussieht:finden und alle Instanzen eines Musters in einer Zeichenfolge ersetzen mit regulären Ausdrücken
{some text}
mit einem anderen konstanten String . Ich möchte also den ganzen Text finden, der in geschweifte Klammern eingeschlossen ist und (mit den geschweiften Klammern) durch eine andere Zeichenfolge ersetzen soll.
Ich verwende den folgenden Code ein:
Dim regEx As Object
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = "\{.*?\}"
qtext = regEx.Replace(qtext, html_input)
wo qtext
und html_input
sind einige Saiten. Dies ersetzt jedoch nur die erste Instanz des Musters.
Zum Beispiel:
qtext = "yadda yadda {1:NM:=12.000:0.120} omtty doom {1:NM:=6/6} loppy loop"
html_input = "I am HTML"
Und das Ergebnis sollte sein:
"yadda yadda I am HTML omtty doom I am HTML loppy loop"
Aber was ich bekommen ist:
"yadda yadda I am HTML omtty doom {1:NM:=6/6} loppy loop"
Was bin ich?
Versuchen Hinzufügen 'regEx.Global = true'. – SJR
@SJR sollten Sie es als Antwort veröffentlichen, damit zukünftige Benutzer die Antwort leicht finden können –