如何从字符串中查找数字?

如何从字符串中查找数字?

我需要从a中找到数字string。如何从stringVBA Excel中查找数字?



暮色呼如
浏览 1193回答 3
3回答

梵蒂冈之花

构造正则表达式来解析。虽然语法可能需要一段时间才能掌握这种方法非常有效,并且非常灵活,可以处理更复杂的字符串提取/替换Sub Tester()      MsgBox CleanString("3d1fgd4g1dg5d9gdg")End SubFunction CleanString(strIn As String) As String     Dim objRegex    Set objRegex = CreateObject("vbscript.regexp")     With objRegex     .Global = True      .Pattern = "[^\d]+"     CleanString = .Replace(strIn, vbNullString)     End WithEnd Function

有只小跳蛙

扩展brettdj的答案,以便将不相交的嵌入数字解析为单独的数字:Sub TestNumList()     Dim NumList As Variant  'Array     NumList = GetNums("34d1fgd43g1 dg5d999gdg2076")     Dim i As Integer     For i = LBound(NumList) To UBound(NumList)         MsgBox i + 1 & ": " & NumList(i)     Next iEnd SubFunction GetNums(ByVal strIn As String) As Variant  'Array of numeric strings     Dim RegExpObj As Object     Dim NumStr As String     Set RegExpObj = CreateObject("vbscript.regexp")     With RegExpObj        .Global = True         .Pattern = "[^\d]+"         NumStr = .Replace(strIn, " ")     End With     GetNums = Split(Trim(NumStr), " ")End Function
打开App,查看更多内容
随时随地看视频慕课网APP