2017-05-01 15 views
0

シンボル+をCSVファイルに置き換えようとしています。私は別のソフトウェアで実行されているVBScriptを使用しています。VBScriptを使用してcsvファイルに "+"を置き換えます

私はエラーメッセージ "unexpected quantifier" 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

はなぜ正規表現を使用します。
は、単に"+""\+"に置き換えることを行うには? 'Replace(str、what、with)'を使ってください。 Btwでは、 '+'を正規表現で使用する必要がある場合、エスケープする必要があります。 –

答えて

3

私は正規表現で+記号は貪欲数量詞を表しているためであるエラーメッセージ「予期しない数量詞」

に直面しています。これは、前の文字/グループの1回以上の出現を意味します。例:a+が一致している必要があります:aは、aaaaa ...

あなたはリテラル文字として+を使用したい場合は、あなたの用語は、バックスラッシュでエスケープする必要があります。

reP.Pattern = "\+" 
関連する問題