使用 Split 从字符串创建数组
分割功能
返回包含指定数量子字符串的从零开始的一维数组。
句法
拆分(表达式 [,分隔符 [,限制 [,比较 ]]] )
部分 | 描述 |
---|---|
表达 | 需要。包含子字符串和分隔符的字符串表达式。如果 expression 是零长度字符串(“”或 vbNullString),则 Split 返回一个不包含元素且没有数据的空数组。在这种情况下,返回的数组的 LBound 为 0,UBound 为 -1。 |
分隔符 | 可选的。用于标识子字符串限制的字符串字符。如果省略,则假定空格字符(“”)是分隔符。如果 delimiter 是零长度字符串,则返回包含整个表达式字符串的单元素数组。 |
限制 | 可选的。要返回的子字符串数; -1 表示返回所有子字符串。 |
相比 | 可选的。数值,指示在评估子字符串时要使用的比较类型。请参阅设置部分了解值。 |
设置
该比较参数可以有以下值:
不变 | 值 | 描述 |
---|---|---|
描述 | -1 | 使用 Option Compare 语句的设置执行比较。 |
vbBinaryCompare |
0 | 执行二进制比较。 |
vbTextCompare |
1 | 执行文本比较。 |
vbDatabaseCompare |
2 | 仅限 Microsoft Access。根据数据库中的信息执行比较。 |
例
在此示例中,通过显示多个样式演示了 Split 的工作原理。注释将显示每个不同执行的 Split 选项的结果集。最后演示了如何循环返回的字符串数组。
Sub Test
Dim textArray() as String
textArray = Split("Tech on the Net")
'Result: {"Tech", "on", "the", "Net"}
textArray = Split("172.23.56.4", ".")
'Result: {"172", "23", "56", "4"}
textArray = Split("A;B;C;D", ";")
'Result: {"A", "B", "C", "D"}
textArray = Split("A;B;C;D", ";", 1)
'Result: {"A;B;C;D"}
textArray = Split("A;B;C;D", ";", 2)
'Result: {"A", "B;C;D"}
textArray = Split("A;B;C;D", ";", 3)
'Result: {"A", "B", "C;D"}
textArray = Split("A;B;C;D", ";", 4)
'Result: {"A", "B", "C", "D"}
'You can iterate over the created array
Dim counter As Long
For counter = LBound(textArray) To UBound(textArray)
Debug.Print textArray(counter)
Next
End Sub