如何从VB6中的字符串中提取数字?

时间:2015-06-24 15:56:04

标签: vb6

我的字符串类似于' NS-BATHROOMS 04288'

我只想要数字。

我一直在搜索答案,但到目前为止都没有找到编译器。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

没有正则表达式你可以用:(尽管VB6 / VBA代码真的不太好看)

Public Function ReturnNonAlpha(ByVal sString As String) As String  
   Dim i As Integer  
   For i = 1 To Len(sString)  
       If Mid(sString, i, 1) Like "[0-9]" Then  
           ReturnNonAlpha = ReturnNonAlpha + Mid(sString, i, 1)  
       End If  
   Next i  
End Function  

答案 1 :(得分:0)

我个人使用正则表达式。您可以匹配给定的正则表达式模式以实现您的需求。此功能仅匹配数字。

对于VB6,您可以执行以下操作:

Dim myRegExp, ResultString
Set myRegExp = New RegExp
myRegExp.Global = True
myRegExp.Pattern = "[\d]"

然后你会反对你的字符串。 https://support.microsoft.com/en-us/kb/818802

答案 2 :(得分:0)

您可以使用此函数将数字chr提取为字符串值:

Public Function Str_To_Int(MyString As Variant) As Long
Dim i As Integer
Dim X As Variant
If IsNull(MyString) Or MyString = "" Then
Str_To_Int = 0
Exit Function
End If
For i = 1 To Len(MyString)
If IsNumeric(Mid(MyString, i, 1)) = True Then
X = Nz(X, "") & Mid(MyString, i, 1)
End If
Next i
Str_To_Int = Nz(X, 0)
End Function