这可能是一个 super 简单的问题。但是我有这个数组,我需要从中去除无用的部分。但我仍然希望它在一个数组中。

所以,当它进来时,数组看起来像这样:

ArrValues(0) "Firstname=FIRSTNAME"
ArrValues(1) "Lastname=LASTNAME"
ArrValues(2) "Username=USERNAME"
ArrValues(3) "Displayname=DISPLAYNAME"

然后我通过这个代码片段发送这个数组:
For Each s In arrValues
    s = Split(s, "=")
    s = s(1)
Next

这会去除字符串,所以我只得到 FIRSTNAME 等等。
但是,我想再次将每个清理过的字符串发送到一个数组中。我怎么做?

最佳答案

只要您的所有字符串都带有 '=' 符号,此代码应该可以工作...使用 MID 函数。我不是性能专家,但我相信 MID 函数会比 SPLIT 具有更好的性能(因为 split 会重新调整每个值)。

尽管如此,海伦的代码也可能有效。只是分享这个代码来展示我的 MID 方法:)

Sub MidArray()

    Dim ArrValues(3) As Variant
    Dim vValue As Variant
    Dim iCount As Integer

    ArrValues(0) = "Firstname=FIRSTNAME"
    ArrValues(1) = "Lastname=LASTNAME"
    ArrValues(2) = "Username=USERNAME"
    ArrValues(3) = "Displayname=DISPLAYNAME"

    For iCount = LBound(ArrValues) To UBound(ArrValues)

        ArrValues(iCount) = Mid(ArrValues(iCount), InStr(ArrValues(iCount), "=") + 1)

    Next iCount

End Sub

10-05 21:10