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. Если 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 |