是否有直接函数来计算字符串中的数字?

Is there a direct funtion to count numbers inside a string?

我有一个包含数字的字符串。例如,"adf20j83n,m3jh2k9"。有没有直接的方法来计算字符串中的位数。在我的示例中,它应该给我 "7" 作为输出。

此外,我已尝试 RegExp 但它在 QTP 中的 VBScript 中不起作用。

顺便说一句,我不是在寻找循环之类的东西。只是一种直接的方式,或者是使这个 RegExp 在 QTP 中工作的建议。

我知道这在技术上是你说的,但它仍然是一个好方法

尝试使用这个函数:

Public Sub CountNumeric(ByVal input As String)

    Dim numericCount As Integer = 0

    For Each c As Char In input
        If Char.IsDigit(c) Then numericCount += 1
    Next

    MessageBox.Show(String.Format("Number of numerics : {0}", numericCount)

End Sub

编辑: 你也可以试试这个:

Dim charColl As MatchCollection = Regex.Matches(input , "^\d+$")
Console.WriteLine(charColl.Count.ToString())

您可能需要通过其 ProgId 创建 COM 对象:

Dim re
Set re = CreateObject("VBScript.RegExp")
re.Pattern = "\d"
re.Global = True

MsgBox "Digits: " & re.Execute("adf20j83n,m3jh2k9").Count

输出:

Digits: 7