Replace multiple text in a text file using vbscript

replace, text-files, vbscript

Solution

You need to call `Replace` on the results of the previous `Replace`:

Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("W:\Test.txt", ForReading)

strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, "Aron_", "Lori_")
strNewText1 = Replace(strNewText, "Aron", "Jason")
strNewText2 = Replace(strNewText1, "Sketa", "Skicia")

Set objFile = objFSO.OpenTextFile("W:\Test.txt", ForWriting)
objFile.WriteLine strNewText2 

objFile.Close

You could actually reuse a single variable, instead of having `strNewText`, `strNewText1`, `strNewText2`.

strText = Replace(strText, "Aron_", "Lori_")
strText = Replace(strText, "Aron", "Jason")
strText = Replace(strText, "Sketa", "Skicia")

and later:

objFile.WriteLine strText

Also, you might want to consider using regular expressions for matching multiple values at a time. (Search on SO for VBScript regular expressions or VBA regular expressions.)

Problem

I am trying to replace 3 text from a text file.I tried this- ``` Const ForReading = 1 Const ForWriting = 2 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("W:\Test.txt", ForReading) strText = objFile.ReadAll objFile.Close strNewText = Replace(strText, "Aron_", "Lori_") strNewText1 = Replace(strText, "Aron", "Jason") 'Not working strNewText2 = Replace(strText, "Sketa", "Skicia") 'Not working Set objFile = objFSO.OpenTextFile("W:\Test.txt", ForWriting) objFile.WriteLine strNewText objFile.WriteLine strNewText1 'Not working objFile.WriteLine strNewText2 'Not working objFile.Close ``` i am not able to figure out how to do multiple replacement.The code working perfect for single replace function but not more than one...plz help

Original source