VB 提取字符串中“、”符号前面的数字

例如一串字符:33、abc
我要提取“、”符号前的那个“33”数字要怎样写代码?
注:33和abc都是不定的位数数字和字符。

第1个回答  2009-01-14
Private Sub Command1_Click()
Dim st As String
Dim a As String
st = "33、abc"
a = Mid(st, 1, InStr(1, st, "、") - 1)
MsgBox a
End Sub本回答被提问者采纳
第2个回答  2009-01-14
''' <summary>
''' 数字提取----主函数
''' </summary>
''' <param name="Str">包含数字的字符串</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function Post(ByVal Str As String) As String
Dim MyReg As String = "\d{1,}\(、)"
'或 Dim MyReg As String = "\d{1,}\、"
'可以修改这里的正则表达式
'"\d{3,3}" ---->三位数字
Return GetrEgex(Str, MyReg)
End Function

''' <summary>
''' 获取正则搜索值(默认找到的第一个)
''' </summary>
''' <param name="Str">字符串</param>
''' <param name="Reg">正则表达式</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function GetrEgex(ByVal Str As String, ByVal Reg As String) As String
Try
Dim r As New Regex(Reg, RegexOptions.Compiled)
Try
Return r.Matches(Str).Item(0).ToString
Catch ex As Exception
'未找到匹配项
Return ""
End Try
Catch ex As Exception
Return ""
End Try
End Function
第3个回答  2009-01-14
dim A
A=split("33.abc",".")
print A(0)
第4个回答  2009-01-14
Left(字符串, InStr(字符串, "、") - 1)
第5个回答  2009-01-14
split函数
相似回答