Strings.Split(String, String, Int32, CompareMethod) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个从零开始的一维数组,其中包含指定数量的子字符串。
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"}
注解
默认情况下,或当等于 -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
、 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 ") |
{“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
可以具有以下值。
返回的常量 | 说明 | Value |
---|---|---|
CompareMethod.Binary |
执行二进制比较 | 0 |
CompareMethod.Text |
执行文本比较 | 1 |