Strings.Split(String, String, Int32, CompareMethod) Метод

Определение

Возвращает отсчитываемый от нуля одномерный массив, содержащий указанное число подстрок.

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

Optional. Любой один символ, используемый для определения ограничений подстроки. Если Delimiter опущено, то символ пробела ("") считается разделителем.

Limit
Int32

Optional. Максимальное количество подстроок, в которых должна быть разделена входная строка. Значение по умолчанию -1 указывает, что входная строка должна быть разделена на каждое Delimiter вхождение строки.

Compare
CompareMethod

Optional. Числовое значение, указывающее сравнение, используемое при оценке подстроок. Сведения о значениях см. в разделе "Параметры".

Возвращаемое значение

String[]

Массив String. Если Expression строка нулевой длины (""), Split возвращает массив с одним элементом, содержащий строку нулевой длины. Если Delimiter строка нулевой длины или она не отображается в любом месте 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 Если параметр больше нуля, 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" и конец строки.

В этой таблице показано, как необязательные 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 ") {"Алиса и Боб"}
Split("Alice and Bob", " AND ", ,CompareMethod.Text) {"Алиса", "Боб"}
Split("someone@example.com", "@",1) {"someone@example.com}
Split("someone@example.com", "@",2) {"кто-то", "example.com"}

Аргумент Compare может иметь следующие значения.

Константа Description Ценность
CompareMethod.Binary Выполняет двоичное сравнение 0
CompareMethod.Text Выполняет текстовое сравнение 1

Применяется к

См. также раздел