拆分非字母数字vba 2003

时间:2014-03-13 12:57:03

标签: regex ms-access

我有一个像

这样的字符串
Aaa-bbb cccc//DD

我想拆分tout有一个带

的数组
Aaa
bbb
cccc
DD

我想我一直在使用正则表达式和分裂,但我不知道如何处理vba 2003

3 个答案:

答案 0 :(得分:3)

你在运行什么应用程序?

以下是VBA编码的示例。您需要为正则表达式引擎使用早期绑定或后期绑定。该代码显示了为每个匹配返回的各种参数。

Dim myRegExp, myMatches, myMatch
Set myRegExp = New RegExp
myRegExp.IgnoreCase = True
myRegExp.MultiLine = True
myRegExp.Global = True
myRegExp.Pattern = "\w+"
Set myMatches = myRegExp.Execute(SubjectString)
For Each myMatch In myMatches
    debug.print myMatch.Value
Next myMatch

答案 1 :(得分:0)

在javascript中我们这样做

var str ="Aaa-bbb cccc//DD";
var res = str.split(/\W/);
var newArray = [];
for (var i = 0; i < res.length; i++) {
    if (typeof res[i] == 'string' && res[i]) {
        newArray.push(res[i]);
    }
}

console.log(newArray);

答案 2 :(得分:0)

很难看,但经过测试和运作。

Public Function ArrayTrial()

    Dim arr() As String
    Dim NewArray As String
    Dim MyString As String
    Dim X As Integer
    Dim CurrString As String
    Dim ArrStr As String

    NewArray = ""
    ArrStr = ""
    MyString = "Aaa-bbb cccc//DD"

    For X = 1 To Len(MyString)
      CurrString = Mid(MyString, X, 1)
      If CurrString Like "[a-z.]" Or CurrString Like "[A-Z.]" Or CurrString Like "[0-9.]" Then
        ArrStr = ArrStr & CurrString
      Else
        'Concurrent bogus characters
        If Len(ArrStr) = 0 Then
        Else
          NewArray = NewArray & ArrStr & "|"
        End If
        'MsgBox arr(X)
        ArrStr = ""
      End If
    Next X

    NewArray = NewArray & ArrStr

    arr = Split(NewArray, "|")
End Function