我希望替换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)
答案 0 :(得分:3)
我正面对错误消息"意外的量词"
这是因为正则表达式中的+
符号代表贪婪量词。这意味着前一个字符/组的一次或多次出现。示例:a+
应匹配:a
,aa
,aaa
...
如果您想将+
用作文字字符,则应使用反斜杠转义术语。
要做到这一点,只需将"+"
替换为"\+"
:
reP.Pattern = "\+"