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