这可能是一个 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