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 为零长度字符串,或者它未出现在任何位置 ExpressionSplit 则返回包含整个 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"}

注解

默认情况下,或等于 -1 时 Limit ,函数 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参数LimitCompare如何更改函数的行为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 ") {“Alice and Bob”}
Split("Alice and Bob", " AND ", ,CompareMethod.Text) {“Alice”, “Bob”}
Split("someone@example.com", "@",1) {“someone@example.com”}
Split("someone@example.com", "@",2) {“someone”, “example.com”}

Compare 参数可以具有以下值。

恒定 Description 价值
CompareMethod.Binary 执行二进制比较 0
CompareMethod.Text 执行文本比较 1

适用于

另请参阅