以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何匹配字符串中,第一个连续的数字串?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=133200)

--  作者:pc005637
--  发布时间:2019/4/9 15:35:00
--  如何匹配字符串中,第一个连续的数字串?
如:dim str as string = "ABC123456#$1234567ADB", 匹配出 "123456"

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

谢谢。

--  作者:y2287958
--  发布时间: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编辑过]

--  作者:有点甜
--  发布时间: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
--  发布时间:2019/4/9 18:01:00
--  代码里的+号代表什么?
[0-9]+
--  作者:有点甜
--  发布时间:2019/4/9 19:12:00
--  
以下是引用pc005637在2019/4/9 18:01:00的发言:
[0-9]+

 

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