【发布时间】:2016-05-17 09:24:49
【问题描述】:
我在使用以下正则表达式解析分隔字符串时遇到问题(此正则表达式还考虑了用户使用引号作为分组字符时的情况):
"[^"]*"|[^;]*
当分隔符之间没有空格时,这可以很好地工作,例如:
31.12.2015;M234;94 841,00;C
**results:**
31.12.2015
M234
94 841,00
C
但是,当某些“列”/值为空时,它会失败,例如:
31.12.2015;M234;94 841,00 ;C;;;0000-0000-00;0000000
问题是,它不会因此在我的分隔符之间返回空白空间,而是直接跳到一个新的分隔符。
我需要更改什么来修复这个正则表达式?
这是我用来循环值的代码
For Each Match In sRegex.Execute(sRow)
If Match.Length > 0 Or bDelimiter = False Then
Debug.Print Match.Value
sHolder(UBound(sHolder)) = Match.Value
ReDim Preserve sHolder(0 To UBound(sHolder) + 1)
bDelimiter = True
Else
bDelimiter = False
Debug.Print "delimiter"
End If
Next Match
【问题讨论】: