本文系原创文章,转载请注明出处(jungleosng.yculblog.com)
在上一讲中我们谈到了使用Split来劈分字符串得到数组的例子,但如果字符串是
这样:
111b222d333f444
需要分成111,222,333,444
这时Split函数就不一定比Mid函数高明高效了。
但借助正则表达式,Split可以挽回败局。
首先当然是在VB中加入对正则表达式的参照(Microsoft VBScript Regular Expressions 5.5)
。
再书写代码如下:
Dim strDest As String
strDest = "111b222d333f444" ‘// 这是目标字符串
Dim reg As New RegExp
reg.IgnoreCase = True
reg.Global = True
reg.MultiLine = True
reg.Pattern = "b|d|f" ‘// 这是劈分字符串的正则表达式
Dim mc As MatchCollection
strDest = reg.Replace(strDest, ",") ’// 将strDest的b,d,f以,取代
Dim strArr() As String
strArr = Split(strDest, ",") ‘// 正式劈分
最后结果就出来了。也可以用replace函数将b,d,f一步步替换成,,但没有这样
做直观方便。
PS:java中String的Split和replace函数可以直接接受正则表达式,省却了上述的
第二步。
