Foxtable(狐表)用户栏目专家坐堂 → 怎么判断字符串里的数字呢


  共有1682人关注过本帖树形打印复制链接

主题:怎么判断字符串里的数字呢

帅哥,在线噢!
aidimeng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:736 积分:7174 威望:0 精华:0 注册:2015/9/14 14:26:00
怎么判断字符串里的数字呢  发帖心情 Post By:2018/4/23 16:48:00 [只看该作者]

 字符串:压榨玉米油3.5L*4

想提取下里面的数字部分,怎么实现啊

 

 

Dim reg As New Regex("\d+")
 Dim m As Match = reg.Match("axd123.09")
 If m.Success Then
     Dim a As Double = m.Value
Output.Show(a)
 End If

计算结果是123

怎么样可以包含 整数 或小数啊

[此贴子已经被作者于2018/4/23 17:12:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐说八道
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:104 积分:1139 威望:0 精华:0 注册:2017/9/13 8:43:00
  发帖心情 Post By:2018/4/23 17:26:00 [只看该作者]

Dim t As String
Dim s As String = "压榨玉米油3.5L*4"
For Each a As String In s
    If Char.IsDigit(a) Then
        t = t & a
    End If
Next
output.show(t)

 回到顶部
帅哥哟,离线,有人找我吗?
vbmic
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1646 威望:0 精华:0 注册:2012/1/7 16:23:00
  发帖心情 Post By:2018/4/23 17:42:00 [只看该作者]

Dim reg As New Regex("\d+[.]\d+")
 Dim m As Match = reg.Match("axd123.09")
 If m.Success Then
     Dim a As Double = m.Value
Output.Show(a)
 End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/23 18:23:00 [只看该作者]

Dim reg As New Regex("[0-9.]+")
Dim m As Match = reg.Match("axd123.09")
If m.Success Then
    Dim a As Double = m.Value
    Output.Show(a)
End If

 


 回到顶部
帅哥,在线噢!
aidimeng
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:736 积分:7174 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2018/4/23 19:17:00 [只看该作者]

十分感谢大家

 回到顶部
帅哥,在线噢!
aidimeng
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:736 积分:7174 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2018/4/23 19:17:00 [只看该作者]

谢谢甜老师

 回到顶部
帅哥,在线噢!
aidimeng
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:736 积分:7174 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2018/4/23 20:50:00 [只看该作者]

Dim 测试文本 = args(0)

Dim 匹配集合 = (New Regex("[0-9.]+")).Matches(测试文本)

Dim 结果列表 As New List(Of Decimal)

For Each 匹配 As Match In 匹配集合

    If IsNumeric(匹配.Value) Then 结果列表.Add(CDec(匹配.Value))

Next
Return 结果列表

 

第一次使用正则表达式,作为标记留念,谢谢各位


 回到顶部