次の方法で共有


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

定義

部分文字列ごとに区切られた文字列からゼロ ベースの 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 に Delimiter がない場合に、SplitExpression 型の文字列を含む単一要素の配列を返します。

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

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

注釈

既定では、または -1 と等しい場合 Limit 、関数は 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" と文字列の末尾の間にあります。

次の表は、省略可能な Delimiter、、および Compare パラメーターが関数の動作を変更する方法をSplitLimitしています。

呼び出しの分割 戻り値
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 、次の値を指定できます。

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

適用対象

こちらもご覧ください