Foxtable(狐表)用户栏目专家坐堂 → 如何匹配字符串中,第一个连续的数字串?


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

主题:如何匹配字符串中,第一个连续的数字串?

帅哥哟,离线,有人找我吗?
pc005637
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1021 积分:12746 威望:0 精华:0 注册:2011/5/29 15:19:00
如何匹配字符串中,第一个连续的数字串?  发帖心情 Post By:2019/4/9 15:35:00 [只看该作者]

如:dim str as string = "ABC123456#$1234567ADB", 匹配出 "123456"

dim str as string = "ABC123AB1234567ADB", 匹配出 "123"

谢谢。

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


加好友 发短信
等级:狐神 帖子:4634 积分:33820 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2019/4/9 16:34:00 [只看该作者]

Dim str As String = "ABC123456#$1234567ADB"
Dim i,ii As Integer
i = 0
Do While i < str.Length
    If asc(str(i)) > 46 AndAlso asc(str(i)) < 58
        ii = i
        Exit Do
    End If
    i += 1
Loop
str = str.SubString(ii)

i = 0
Do While i < str.Length
    If asc(str(i)) < 47 OrElse asc(str(i)) > 57
        ii = i
        Exit Do
    End If
    i += 1
Loop
str = str.SubString(0,ii)
Output.Show(str)

[此贴子已经被作者于2019/4/9 16:34:02编辑过]

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


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

参考

 

Dim str As String = "ABC123AB1234567ADB"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9]+")
msgbox(mc(0).value)


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


加好友 发短信
等级:五尾狐 帖子:1021 积分:12746 威望:0 精华:0 注册:2011/5/29 15:19:00
代码里的+号代表什么?  发帖心情 Post By:2019/4/9 18:01:00 [只看该作者]

[0-9]+

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


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

以下是引用pc005637在2019/4/9 18:01:00的发言:
[0-9]+

 

参考 http://www.runoob.com/regexp/regexp-tutorial.html

 


 回到顶部