返回字符串中所有数值的函数,类似于Val

时间:2017-06-02 16:48:16

标签: vba

是否有一个类似于Val的函数会给我一个字符串中的所有数字,而不是在它到达非数字字符时停止?

例如:

Dim myNum As Integer
myNum = Val("24 and 25") 

'这只给myNum值24.是否有一个函数可以将值设置为2425?

2 个答案:

答案 0 :(得分:1)

使用此自定义功能

Function customVal(s As String) As Long
  With CreateObject("VBScript.Regexp")
    .Pattern = "\D": .Global = True
    customVal = .Replace(s, "")
  End With
End Function
Sub Testing()
  Dim s As String: s = "24 and 25 and 26"
  Debug.Print customVal(s)
End Sub
  

242526

答案 1 :(得分:1)

也许创建自己的函数,使用正则表达式替换非数字值。有什么影响:

Dim result As String = Regex.Replace("24 and 25", "[^0-9]", "")