共用方式為


Split 函式 (Visual Basic)

更新:2007 年 11 月

傳回以零起始的一維陣列,其中包含指定數目的子字串。

Function Split(
   ByVal Expression As String,
   Optional ByVal Delimiter As String = " ",
   Optional ByVal Limit As Integer = -1,
   Optional ByVal Compare As CompareMethod = CompareMethod.Binary
) As String()

參數

  • Expression
    必要項。包含子字串和分隔符號 (Delimiter) 的 String 運算式。

  • Delimiter
    選擇項。用來識別子字串範圍的任何單一字元。如果省略 Delimiter,則會將空白字元 (" ") 假設為分隔符號。

  • Limit
    選擇項。輸入字串應該分割之子字串數目的最大值。預設值為 –1,表示應該在每次遇到 Delimiter 字串時即分割輸入字串。

  • Compare
    選擇項。指示出當評估子字串時要使用哪種比對的數值。請參閱值的「設定」。

傳回

String 陣列。如果 Expression 是長度為零的字串 (""),則 Split 會傳回含有長度為零之字串的單一元素陣列。如果 Delimiter 是長度為零的字串,或者它未出現在 Expression 中的任何位置,則 Split 會傳回含有整個 Expression 字串的單一元素陣列。

設定

Compare 引數可以是下列各值。

常數

描述

CompareMethod.Binary

執行二進位比對

0

CompareMethod.Text

執行文字比對

1

備註

在預設情況下,或 Limit 等於 -1 時,Split 函式會在每個出現分隔符號字串的地方分割輸入字串,並以陣列方式傳回子字串。Limit 參數大於零時,Split 函式會在分隔符號的第一個 Limit-1 出現的地方分割字串,並傳回內含所產生之子字串的陣列。例如,Split("a:b:c", ":") 會傳回陣列 {"a", "b", "c"},而 Split("a:b:c", ":", 2) 則會傳回陣列 {"a", "b:c"}。

當 Split 函式在一個資料列中遇到兩個分隔符號,或是在字串開頭或結尾位置遇到一個分隔符號時,都會將這些分符號解譯為空白字串 ("")。例如,Split("xx", "x") 會傳回包含三個空白字串的陣列:一個來自字串開頭與第一個 "x" 之間、一個來自兩個 "x" 字串之間,而第三個則是來自最後一個 "x" 與字串結尾之間。

這個表格會示範選擇性的 Delimiter、Limit 和 Compare 參數如何變更 Split 函式的行為。

Split 呼叫

傳回值

Split("42, 12, 19")

{"42," , "12," , "19"}

Split("42, 12, 19", ", ")

{"42", "12", "19"}

Split("42, 12, 19", ", ", 2)

{"42", "12, 19"}

Split("192.168.0.1", ".")

{"192", "168", "0", "1"}

Split("Alice and Bob", " AND ")

{"Alice and Bob"}

Split("Alice and Bob", " AND ", ,CompareMethod.Text)

{"Alice", "Bob"}

Split("someone@example.com", "@",1)

{"someone@example.com"}

Split("someone@example.com", "@",2)

{"someone", "example.com"}

範例

下列範例會示範如何在其空格處分割字串。

Dim TestString As String = "Look at these!"
' Returns an array containing "Look", "at", and "these!".
Dim TestArray() As String = Split(TestString)

下列範例會示範如何在單列中具有多個分隔符號時分割字串,並篩選出空白字串。

Dim TestString As String = "apple    pear banana  "
Dim TestArray() As String = Split(TestString)
' TestArray holds {"apple", "", "", "", "pear", "banana", "", ""}
Dim LastNonEmpty As Integer = -1
For i As Integer = 0 To TestArray.Length - 1
    If TestArray(i) <> "" Then
        LastNonEmpty += 1
        TestArray(LastNonEmpty) = TestArray(i)
    End If
Next
ReDim Preserve TestArray(LastNonEmpty)
' TestArray now holds {"apple", "pear", "banana"}

需求

命名空間 (Namespace)︰Microsoft.VisualBasic

模組:Strings

組件 (Assembly):Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)

請參閱

參考

字串操作摘要

Join 函式 (Visual Basic)

CompareMethod 列舉型別