是否有直接函数来计算字符串中的数字?
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
我有一个包含数字的字符串。例如,"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