Поделиться через


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

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

Limit
Int32

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

Compare
CompareMethod

Необязательный элемент. Числовое значение, которое указывает вид сравнения, выполняемого при оценке подстрок. Сведения о значениях см. в разделе "Параметры".

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

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" и концом строки.

В этой таблице показано, как необязательные Delimiterпараметры , Limitи 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) {"someone", "example.com"}

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

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

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

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