我想使用正则表达式在VBScript中拆分字符串。
主要目标是返回括号内的内容,例如:
strtoSplit = "Hello everyone! (27082015) What is your name? (123456789)"
结果:27082015 123456789
我正在使用这行代码,但它不起作用:
strThatIWant = Split(strToSplit, "[\xA0]*\(([^)]+) \ )"
你能帮我解决其他问题,还是能告诉我我做错了什么?
答案 0 :(得分:3)
Split()将字符串剪切成由字符串(不是正则表达式)分隔的部分数组。您正在寻找由(由)数字序列组成的输入字符串的部分。因此,您需要一个指定数字序列的正则表达式:\ d +。
>> strtoSplit = "Hello everyone! (27082015) What is your name? (123456789)"
>> Set r = New RegExp
>> r.Global = True
>> r.Pattern = "\d+"
>> For Each m In r.Execute(strtoSplit)
>> WScript.Echo m.Value
>> Next
>>
27082015
123456789
关于借调的想法:
我应该从一开始就明白你对括号之间的部分感兴趣'。所以模式需要改变,我们必须访问一个组:
>> Set r = New RegExp
>> r.Global = True
>> r.Pattern = "\(([^)]+)\)"
>> For Each m In r.Execute(strtoSplit)
>> WScript.Echo m.SubMatches(0)
>> Next
>>
27082015
123456789