以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  大红袍老师 请进 正则式又遇到了新问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74450)

--  作者:sloyy
--  发布时间:2015/9/11 9:31:00
--  大红袍老师 请进 正则式又遇到了新问题
用正则式 System.Text.RegularExpressions.Regex.Match(Values(Index),"[0-9.]+(?=万+)").ToString() * 10000
城郊水利建设项目(倍增工程)1190.00万元
这个没问题
但是下面这个出问题了
水利冬修费1.2亿元
还可以修改正则式吗?使得万元和亿元都能识别
我现在是手工把亿元改成 : 水利冬修费12000万元

--  作者:大红袍
--  发布时间:2015/9/11 9:37:00
--  

Dim str As String = "水利冬修费1.2亿元"

Dim s As String = System.Text.RegularExpressions.Regex.Match(str,"[0-9.]+[万亿]+").ToString()
If s.EndsWith("万") Then
    s = val(s) * 10000
ElseIf s.EndsWith("亿") Then
    s = val(s) * 100000000
End If
msgbox(s)


--  作者:sloyy
--  发布时间:2015/9/11 11:06:00
--  
完全正确!
正则式果然可以用条件判断语句,可以在那里找到有关知识?
[此贴子已经被作者于2015/9/11 11:06:33编辑过]

--  作者:大红袍
--  发布时间:2015/9/11 11:07:00
--  

正则,只是提取数据,要怎么加工,就要用别的代码处理。

 

百度 http://www.baidu.com/baidu?wd=%D5%FD%D4%F2%B1%ED%B4%EF%CA%BD&tn=monline_4_dg

 


--  作者:2
--  发布时间:2015/9/11 11:22:00
--  
感觉这个东西非常有用,可惜论坛里介绍的不多