Strings.Split(String, String, Int32, CompareMethod) Metoda

Definice

Vrátí jednorozměrné pole založené na nule obsahující zadaný počet podřetětců.

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()

Parametry

Expression
String

Required. String výraz obsahující podřetěžce a oddělovače.

Delimiter
String

Optional. Libovolný jeden znak použitý k identifikaci limitů podřetěděcí řetězce. Pokud Delimiter je vynechán, předpokládá se, že znak mezery (" ") je oddělovač.

Limit
Int32

Optional. Maximální počet podřetězců, do kterých má být vstupní řetězec rozdělen. Výchozí hodnota -1 označuje, že vstupní řetězec by měl být rozdělen při každém výskytu Delimiter řetězce.

Compare
CompareMethod

Optional. Číselná hodnota označující porovnání, které se má použít při vyhodnocování podřetěc. Hodnoty najdete v části Nastavení.

Návraty

String[]

String pole. Pokud Expression je řetězec nulové délky (""), Split vrátí pole s jedním prvkem obsahující řetězec nulové délky. Pokud Delimiter je řetězec nulové délky nebo pokud se nikde Expressionnezobrazí , Split vrátí pole s jedním prvkem obsahující celý Expression řetězec.

Příklady

Následující příklad ukazuje, jak rozdělit řetězec v jeho mezerách.

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

Následující příklad ukazuje, jak rozdělit řetězce s více oddělovači v řádku a vyfiltrovat prázdné řetězce.

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

Poznámky

Ve výchozím nastavení nebo když Limit se rovná -1, Split funkce rozdělí vstupní řetězec při každém výskytu řetězce oddělovače a vrátí podřetězce v poli. Limit Pokud je parametr větší než nula, Split funkce rozdělí řetězec při prvním Limitvýskytu oddělovače -1 a vrátí matici s výslednými podřetězci. Například Split("a:b:c", ":") vrátí matici {"a", "b", "c"}, zatímco Split("a:b:c", ":", 2) vrátí matici {"a", "b:c"}.

Když funkce Split narazí na dva oddělovače v řádku nebo oddělovač na začátku nebo na konci řetězce, interpretuje je jako obklopující prázdný řetězec (""). Například Split("xx", "x") vrátí matici obsahující tři prázdné řetězce: jeden od začátku řetězce a prvního "x", jeden z obou řetězců "x" a jeden z mezi poslední "x" a druhý mezi posledním "x" a koncem řetězce.

Tato tabulka ukazuje, jak volitelné Delimiter, Limita Compare parametry mohou změnit chování Split funkce.

Rozdělit hovor Návratová hodnota
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 a 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"}

Argument Compare může mít následující hodnoty.

Konstanta Description Hodnota
CompareMethod.Binary Provede binární porovnání. 0
CompareMethod.Text Provede textové porovnání. 1

Platí pro

Viz také