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