VB 从文本中获取数字 field/string

VB get numbers form a text field/string

我想像这样提取一行中的数字

[Helpdesk- TestUser - 10406] case # 10405 is registred.

假设我想从该行中提取 10406,你能定义“]”之前的数字是目标吗?或者在“#”之后,我将如何进行?

如果我没理解错的话,下面的解法可以用来求出数字。

首先导入以下库

Imports System.Text.RegularExpressions

  Dim mytext As String = "[Helpdesk- TestUser - 10406] case # 10405 is registred."
  Dim arr As String() = mytext.Split("]")

  Dim FirstNumber = Regex.Replace(arr(0), "\D", "") 
  ' this will fetch first number i.e 10406

  Dim SecondNumber = Regex.Replace(arr(1), "\D", "") 
  ' this will fetch second number i.e 10405

如果这不是您正在寻找的解决方案,请详细说明您的问题或评论

根据

以下方法将遍历给定字符串中的所有数字

Dim mytext5 As String = "case 10405 [Helpdesk- TestUser - 10406] case # 10405 is registred."
        Dim arr1 As String() = mytext5.Split(" ")
        For Each itm As String In arr1
            Dim num As Object
            num = Regex.Replace(itm, "[^0-9]", "")
            If IsNumeric(num) Then
                'Your Code
            End If
        Next

你可以试试这样的.....

scanStr = "[Helpdesk- TestUser - 10406] case # 10405 is registred"

StartPos = Instr(scanStr, "#")
EndPos = Instr(scanStr, " in")

strSubstr = Mid$(scanStr, StartPos , (EndPos - StartPos) )