以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]提取字符串数字  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144481)

--  作者:天一生水
--  发布时间:2019/12/21 15:53:00
--  [求助]提取字符串数字
老师好!
我要提取字符串中的三组数字,应该怎样写? 

\'\'\'
Dim str As String = "本工程报审工程造价为789.00元,审定工程造价为456.00元,审减值为123.00元。(详见工程造价汇总表)。"

Dim mc = System.Text.RegularExpressions.Regex.Matches(str , "               ")



If mc.count > 0 Then
    msgbox(“报审值:” &    )
    msgbox(“审定值:” &    )
    msgbox(“审减值:” &    )
End If


--  作者:有点蓝
--  发布时间:2019/12/21 16:09:00
--  
Dim s As String="本工程报审工程造价为789.00元,审定工3453程造价为456.00元,审减值为123.00元.(详见工程造价汇总表)."
Dim p As String = "\\d+[.]\\d+|\\d+"
Dim rgx As New System.Text.RegularExpressions.Regex(p)
For Each  match As System.Text.RegularExpressions.Match In rgx.Matches(s)
    Output.Show(match.Value )
Next

--  作者:天一生水
--  发布时间:2019/12/21 17:02:00
--  
谢谢蓝老师!

怎样逐个获取match.Value 的值?

--  作者:有点蓝
--  发布时间:2019/12/21 17:10:00
--  
Dim rgx As New System.Text.RegularExpressions.Regex(p)
Dim vs = rgx.Matches(s)
For i As Integer = 0 To vs.count - 1
    Output.Show(vs(i).Value )
Next