使用RegEx清除空白/空白到vbNull

时间:2018-02-13 16:35:31

标签: regex vbscript

我希望清理.csv文件以进行数据库导入。我正在使用以下vbs函数,并希望将''合并到vbNull。我发现很难理解RegEx。甚至可以这样做吗?

Function removeEmbeddedCommasInCSVTextField (strtoclean)

Dim objRegExp, outputStr
Set objRegExp = New Regexp

objRegExp.IgnoreCase = True
objRegExp.Global     = True
objRegExp.Pattern    =  """[^""]*,[^""]*""" 


Set objMatch  = objRegExp.Execute( strtoclean )
corrected_row = strtoclean
For Each myMatch in objMatch
    matched_value  = myMatch.Value  ' retrieves text column with embedded commas
    cleaned_value  = replace(matched_value, ",","") ' removes embeddes commans from column
    corrected_row  = replace(corrected_row, matched_value, cleaned_value) 'take row and replaced bad value with good value (no commas)
Next
removeEmbeddedCommasInCSVTextField = corrected_row

End Function

MAIN:

Set MyFile = fso.CreateTextFile(strShareDirectory  & "fixed.txt", True)

Set f    = fso.OpenTextFile(strShareDirectory & filename)
Do Until f.AtEndOfStream
    before_clean = f.ReadLine
    after_clean  = removeEmbeddedCommasInCSVTextField(before_clean)
    MyFile.WriteLine(after_clean)
    'WScript.Echo after_clean
Loop

f.Close
MyFile.Close

0 个答案:

没有答案