Мне нужно увеличить все числа (которые не являются частью слова) на 1 в текстовом файле.Я попытался использовать шаблон \b(\d+)\b
для захвата всех таких чисел, но я не могу увеличить (добавить 1 к ним) их в файле.
Ввод
text1
1 5 7
hello world 5. This is Samurai 10 not samurai10.
text2
Ожидаемый вывод
text1
2 6 8
hello world 6. This is Samurai 11 not samurai10.
text2
Моя попытка
const forReading = 1
set objFso = createObject("scripting.filesystemobject")
strFilePath = split(wscript.scriptFullName,wscript.scriptName)(0) & "haha.txt"
set objFile = objFso.openTextFile(strFilePath, forReading)
set objReg = new RegExp
With objReg
.Global = True
.ignoreCase = true
.multiline = true
.pattern = "\b(\d+)\b"
End With
strTemp = objFile.readAll()
strTemp = objReg.replace(strTemp,cint("$1")+1) '<--Here, I am getting the "Type mismatch 'Cint'" error. I just wanted to increment the number which was captured in Group 1
msgbox strTemp
set objFile = Nothing
set objFso = Nothing
Если я заменим строку strTemp = objReg.replace(strTemp,cint("$1")+1)
на strTemp = objReg.replace(strTemp,"_$1_")
, я получу следующий вывод, что означает, что я могу получить требуемые числа, которые необходимо увеличить:
Я просто не могу их увеличить.Буду очень признателен за любую помощь !!!