Strings.Split(String, String, Int32, CompareMethod) メソッド

定義

指定した数の部分文字列を含む 0 から始まる 1 次元配列を返します。

public static string[] Split(string? Expression, string? Delimiter = " ", int Limit = -1, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);
public static string[] Split(string Expression, string Delimiter = " ", int Limit = -1, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);
static member Split : string * string * int * Microsoft.VisualBasic.CompareMethod -> string[]
Public Function Split (Expression As String, Optional Delimiter As String = " ", Optional Limit As Integer = -1, Optional Compare As CompareMethod = Microsoft.VisualBasic.CompareMethod.Binary) As String()

パラメーター

Expression
String

必須。 String 部分文字列と区切り記号を含む式。

Delimiter
String

このフィールドは省略可能です。 部分文字列の制限を識別するために使用される任意の 1 文字。 Delimiterを省略すると、スペース文字 (" ") が区切り記号と見なされます。

Limit
Int32

このフィールドは省略可能です。 入力文字列を分割する部分文字列の最大数。 既定値の -1 は、 Delimiter 文字列が出現するたびに入力文字列を分割する必要があることを示します。

Compare
CompareMethod

このフィールドは省略可能です。 部分文字列を評価するときに使用する比較を示す数値。 値については、「設定」を参照してください。

返品

String[]

String 配列 Expressionが長さ 0 の文字列 ("") の場合、Splitは長さ 0 の文字列を含む単一要素配列を返します。 Delimiterが長さ 0 の文字列の場合、またはExpression内のどこにも表示されない場合、Splitは、Expression文字列全体を含む単一要素配列を返します。

次の例は、文字列をスペースで分割する方法を示しています。

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"}

注釈

既定では、または Limit が -1 の場合、 Split 関数は、区切り記号文字列が出現するたびに入力文字列を分割し、配列内の部分文字列を返します。 Limit パラメーターが 0 より大きい場合、Split関数は、区切り記号の最初の Limit-1 回の出現位置で文字列を分割し、結果の部分文字列を含む配列を返します。 たとえば、 Split("a:b:c", ":") は配列 {"a", "b", "c"}を返し、 Split("a:b:c", ":", 2) は配列 {"a", "b:c"}を返します。

Split関数は、行に 2 つの区切り記号、または文字列の先頭または末尾に区切り記号を検出すると、空の文字列 ("") を囲むと解釈します。 たとえば、 Split("xx", "x") は、3 つの空の文字列を含む配列を返します。1 つは文字列の先頭から最初の "x"、1 つは 2 つの "x" 文字列の間、1 つは最後の "x" と文字列の末尾の間です。

次の表は、省略可能な DelimiterLimit、および Compare パラメーターが 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"}

Compare引数には、次の値を指定できます。

定数 Description 価値
CompareMethod.Binary バイナリ比較を実行します。 0
CompareMethod.Text テキスト比較を実行します。 1

適用対象

こちらもご覧ください