deutsch73

VB Script nach gefundenem Wort die nächsten 4 Zeichen ersetzten

Hallo,

ich möchte mittels vb script in einem text ein wort suchen und
wenn dieses gefunden wurde die nächsten 2 Wörter ersetzen.

Text in txt Datei: " Datum
das ist ein Beispieltext"

Nun möchte ich nicht das Wort "das" ersetzten sondern wenn
" das" gefunden wurde " ist ein " gegen ein Datum austauschen das ich über
eine Inbox eingebe.

mein Code schaut derzeit so aus :
datei=C: \123456.txt
strWorkDir = datei
strText = ""
strText2 = InputBox ("Datum eingeben")
If Suchwort = "123456" Then
strPathFind = "das"
Else
strPathFind = "ein"
End If

Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
'# wenn die Datei der Variablen "strWorkDir" existiert dann lese Datei
If objFSO.FileExists(strWorkDir) Then
'# öffnet das Textfile der Variablen strWorkDir zum lesen
Set objFile = objFSO.OpenTextFile(strWorkDir, ForReading)
'# ersetzte strPathfind inhalt gegen strText2 Inhalt
strreplace = Replace(objFile.ReadAll,strPathFind, strText2)
'#öffne strWorkDir zum schreiben
Set objFile = objFSO.OpenTextFile(strWorkDir, ForWriting)
'#schreibe den umgewandelten Text zurück
objFile.Write (strreplace)
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 305746

Url: https://administrator.de/forum/vb-script-nach-gefundenem-wort-die-naechsten-4-zeichen-ersetzten-305746.html

Ausgedruckt am: 22.05.2025 um 10:05 Uhr

129413
129413 30.05.2016 um 21:26:07 Uhr
Goto Top
strFile = "C: \123456.txt"  
Set fso = CreateObject("Scripting.Filesystemobject")  
content = fso.OpenTextFile(strFile,1).ReadAll()
Set regex = CreateObject("vbscript.regexp")  
regex.Global = True: regex.IgnoreCase = True
regex.Pattern = "(das) ([^\s]+ [^\s]+)"  
strDatum = InputBox("Datum eingeben:")  
fso.OpenTextFile(strFile,2).Write(regex.Replace(content,"$1 " & strDatum))  
Gruß skybird
deutsch73
deutsch73 31.05.2016 um 06:28:02 Uhr
Goto Top
danke für die rasche Antwort skybird, funktioniert perfekt!!