谁可以告诉我代码:VB字符串中提取两个数字,并能用于计算

来源:百度知道 编辑:UC知道 时间:2024/06/08 05:22:07
一个字符串“他有20元钱,现在又得到了40.5元,请问他现在有多少钱”。
就是要提取数字“20”和“40.5”,谁能做到呢?

可以用vbscript正则表达式提取,应用很广泛的。新建窗体,添加command1,工程-引用-Microsoft VBScript Regular
Expressions 5.5打钩-确定,复制粘贴下段代码。

Private Sub Command1_Click()
Dim str As String, num() As Single 'str用来存储待处理的字符串,num()用来存储提取的数字
str = "他有20元钱,现在又得到了40.5元,请问他现在有多少钱" '为str赋值
Set re = New RegExp '初始化re为RegExp正则匹配模式
re.Global = True '设置匹配时搜索str的整个字符串,若为false,只搜索str里符合条件的第一项
re.Pattern = "[0-9\-]+(?:\.[0-9]+)?" '定义正则表达式,这里为数字
Set mc = re.Execute(str) '返回符合正则表达式匹配对象,并存储在mc中,mc为MatchCollection对象,其count属性返回匹配对象的总数
ReDim num(1 To mc.Count) '重新定义num数组,下限为1,上限为由str提取到的数字个数即mc.count
i = 1 '初始化数组sum脚标
For Each ma In mc