替换" +"在使用VBScript

时间:2017-05-01 14:45:44

标签: regex replace vbscript

我希望替换CSV文件中的符号+。我正在使用另一个软件运行的VBScript。

我正面对错误信息"意外的量词" 800A139A。但是,#e的搜索和替换正在发挥作用,当我通过对+的研究取代-的研究时,它可行。可能是什么错误?

Dim FILE1
Dim InFileName
Dim re
Dim reE
Dim reP

Set re = New RegExp
Set reE = New RegExp
Set reP = new RegExp
re.Pattern = "#"
reE.Pattern = "e"
reP.Pattern = "+"

re.Global = True
reE.Global = True
reP.Global = True

'Replace path and filename as required
'InFilename = "C:\" & Evoware.GetStringVariable("filename")
Set FILE1 = CreateObject("scripting.FileSystemObject")
Set infile = FILE1.OpenTextFile(InFileName, 1, False)

strg = infile.ReadAll
infile.Close

strg = re.Replace(strg, "")
strg = reE.Replace(strg, "")
strg = reP.Replace(strg, "")

MsgBox(strg)
Set Outfile = File1.CreateTextFile(inFileName, 1, False)
Outfile.Write(strg)

1 个答案:

答案 0 :(得分:3)

  

我正面对错误消息"意外的量词"

这是因为正则表达式中的+符号代表贪婪量词。这意味着前一个字符/组的一次或多次出现。示例:a+应匹配:aaaaaa ...

如果您想将+用作文字字符,则应使用反斜杠转义术语。
要做到这一点,只需将"+"替换为"\+"

reP.Pattern = "\+"