deutsch73
Goto Top

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)

Content-Key: 305746

Url: https://administrator.de/contentid/305746

Printed on: April 19, 2024 at 01:04 o'clock

Mitglied: 129413
129413 May 30, 2016 at 19:26:07 (UTC)
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
Member: deutsch73
deutsch73 May 31, 2016 at 04:28:02 (UTC)
Goto Top
danke für die rasche Antwort skybird, funktioniert perfekt!!