使用 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