Я читаю текстовый файл в VbScript построчно и сохраняю значение каждый раз в переменной с именем line_text.
The line_text variable can take values as
":60F:C180235P56987456"
":60M:C184535P56987456"
":60F:D182335P56987456"
":60M:D180278P56987456"
Согласно моему решению, я использовал четыре выражения регулярных выражений следующим образом:
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set objFileToRead=fso.OpenTextFile("C:\New\maddy.txt",1)
Set objFileToWrite=fso.OpenTextFile("C:\New\maddy1.txt",2,true)
Dim line_text
Set re1 = New RegExp
re1.Pattern = "(:60F:C)\d{6}"
Set re2 = New RegExp
re2.Pattern = "(:60M:C)\d{6}"
Set re3 = New RegExp
re3.Pattern = "(:60F:D)\d{6}"
Set re4 = New RegExp
re4.Pattern = "(:60M:D)\d{6}"
patt1=":60F:C120412"
patt2=":60M:C120412"
patt3=":60F:D120412"
patt4=":60M:D120412"
do until objFileToRead.AtEndOfStream Then
line_text = objFileToRead.ReadLine()
If re1.test(line_text) Then
line_text=re1.replace(line_text,patt1)
ElseIf re2.test(line_text) Then
line_text=re2.replace(line_text,patt2)
ElseIf re3.test(line_text) Then
line_text=re3.replace(line_text,patt3)
ElseIf re4.test(line_text) Then
line_text=re4.replace(line_text,patt4)
End If
objFileToWrite.Write(line_text)
Loop
Set objFileToRead = Nothing
Set objFileToWrite = Nothing
Поскольку я хочу заменить шесть цифр, сопровождаемых символом в подстроке, той же строкой "120412", что будет наилучшим из возможных способов замены без использования четырех различных выражений в качествеЯ использовал.Это отнимает много времени.
Есть ли здесь какая-либо возможность группировки в VBScript, чтобы я мог сгруппировать эти шесть цифр для всех операций чтения строки в одном выражении и заменить все тем же выражением "120412", поскольку оно повторяется?.