Vbscript.regexp suche nach Variable
Hallo,
Das Script soll den Text
Datum
das ist ein Beispieltext
durchsuchen.
Wenn "das" gefunden wird sollen die nächsten 2 Wörter gegen den Inhalt der Variablen strDatum
ersetzt werden. Funktioniert soweit!
Ich benötige noch die Möglichkeit nicht nur nach "das" zu suchen sondern nach einem beliebigen Wort
des in der Variablen strPathFind steht ( z:B "ein") und danach die nächsten 2 Wörter gegen den Inhalt
strDatum austauscht.
Hier das Script:
Suchwort = Inputbox ("Datei eingeben")
If Suchwort = "123456" Then
strPathFind = "das"
Else
strPathFind = "ein"
End If
WScript.Echo strPathFind
strFile = datei
content = fso.OpenTextFile(strFile,1).ReadAll()
Set regex = CreateObject("vbscript.regexp")
regex.Global = True: regex.IgnoreCase = True
regex.Pattern = "(strPathFind) ,([^\s]+ [^\s]+)"
'regex.Pattern = "(das) ([^\s]+ [^\s]+)"
strDatum = InputBox("Datum eingeben:")
'fso.OpenTextFile(strFile,2).Write(regex.Replace(content,"$1 " & strDatum))
Das Script soll den Text
Datum
das ist ein Beispieltext
durchsuchen.
Wenn "das" gefunden wird sollen die nächsten 2 Wörter gegen den Inhalt der Variablen strDatum
ersetzt werden. Funktioniert soweit!
Ich benötige noch die Möglichkeit nicht nur nach "das" zu suchen sondern nach einem beliebigen Wort
des in der Variablen strPathFind steht ( z:B "ein") und danach die nächsten 2 Wörter gegen den Inhalt
strDatum austauscht.
Hier das Script:
Suchwort = Inputbox ("Datei eingeben")
If Suchwort = "123456" Then
strPathFind = "das"
Else
strPathFind = "ein"
End If
WScript.Echo strPathFind
strFile = datei
content = fso.OpenTextFile(strFile,1).ReadAll()
Set regex = CreateObject("vbscript.regexp")
regex.Global = True: regex.IgnoreCase = True
regex.Pattern = "(strPathFind) ,([^\s]+ [^\s]+)"
'regex.Pattern = "(das) ([^\s]+ [^\s]+)"
strDatum = InputBox("Datum eingeben:")
'fso.OpenTextFile(strFile,2).Write(regex.Replace(content,"$1 " & strDatum))
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 305932
Url: https://administrator.de/forum/vbscript-regexp-suche-nach-variable-305932.html
Ausgedruckt am: 22.04.2025 um 17:04 Uhr
5 Kommentare
Neuester Kommentar

Hallo,
Das Script soll den Text
Ah ja ... Noch schöner gings wohl nicht ...Das Script soll den Text
Nach dem Motto: Hallo, putz mir das Klo, aber pronto!
regex.Pattern = "(" & strPathFind & ") ([^\s]+ [^\s]+)"
Hier gibts auch Formatierung im Forum

Das Komma hast du selber eingefügt, ich hab das nur übernommen ! Du musst schon wissen was du tust...
Außerdem beachte das beim Suchwort Sonderzeichen "escaped" werden müssen, das ist ein Regular Expression String. Also zieh dir bitte erst mal die Grundlagen dazu rein. Danke.
woran liegt das?
nicht an meinem Code, aber du postest ja noch nicht mal den Text um den es geht (aber bitte mit Codetags)Außerdem beachte das beim Suchwort Sonderzeichen "escaped" werden müssen, das ist ein Regular Expression String. Also zieh dir bitte erst mal die Grundlagen dazu rein. Danke.