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 |