【问题标题】:Remove letter from a string access VBA从字符串访问VBA中删除字母
【发布时间】:2020-07-13 19:51:51
【问题描述】:

我有一个包含字母和数字的字符串 sStr。我正在尝试从字符串中删除字母。

例如: sStr="P441" 或有时 sStr="BK471" 。

我尝试使用 Right(sStr,3)split

这给了我 441。由于字符串 sStr 有时可能包含 2 个字母(“BK471”),我如何删除 vba 中的字母。

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    您可以遍历字符串中的每个字符,检查它是否为IsNumeric

    Dim x as integer
    Dim sCleanedStr As String
    For x = 1 to Len(sStr)
        If IsNumeric(Mid(sStr, x, 1)) then sCleanedStr = sCleanedStr & Mid(sStr, x, 1)
    Next
    

    【讨论】:

      【解决方案2】:

      您可以使用正则表达式删除任何字母。为此,您需要在宏中包含 Regex 库(转到工具 -> 参考,然后搜索并选择正则表达式库)

      Sub test()
      
      sStr = "abc123"
      Dim regEx As New RegExp
      With regEx
          .Pattern = "[a-z]+"
          .Global = True
          .IgnoreCase = True
      End With
      sStr = regEx.Replace(sStr, "")
      MsgBox (sStr)
      
      End Sub
      

      上面的代码将替换单词中任何地方的任何字母。

      【讨论】:

        猜你喜欢
        • 2020-03-20
        • 2022-01-09
        • 1970-01-01
        • 2017-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多