Split()
方法在指定的 and 分隔符处将字符串拆分,并返回其子字符串。
示例
using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {
string text = "C# is a fun programming language";
// split string
string[] result = text.Split(" ");
Console.Write("Result: ");
foreach(String str in result) {
Console.Write(str + ", ");
}
Console.ReadLine();
}
}
}
// Output: Result: C#, is, a, fun, programming, language,
Split() 语法
字符串 Split()
方法的语法是
Split(String separator, Int32 count, StringSplitOptions options)
在这里,Split()
是 String
类的一个方法。
Split() 参数
Split()
方法接受以下参数
- separator - 分隔字符串中的子字符串
- count - 控制生成的子字符串的数量
- options - 指定是省略空数组元素还是包含它们
Split() 返回值
Split()
方法返回一个包含子字符串的字符串数组。
示例 1:将字符串拆分为数组
using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {
string text = "a::b::c::d::e";
// split string at ::
string[] result = text.Split("::");
foreach(string str in result) {
Console.WriteLine(str);
}
Console.ReadLine();
}
}
}
输出
a b c d e
这里,我们以 ::
为分隔符拆分字符串。由于没有传递 count 参数,返回的数组包含所有子字符串。
示例 2:使用多个字符拆分字符串
using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {
string text = "a b,c.d/e";
// split string
string[] result = text.Split(' ', ',', '.','/');
foreach(string str in result) {
Console.WriteLine(str);
}
Console.ReadLine();
}
}
}
输出
a b c d e
这里,我们以字符 ' '
、','
、'.'
和 '/'
为分隔符拆分字符串。
示例 3:按字符串或字符串数组分隔拆分字符串
using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {
string text = "Programiz is developed for programmers";
string[] separators = {"is", "for"};
// separates string at separators
string[] result = text.Split(separators, StringSplitOptions.None);
foreach(string str in result) {
Console.WriteLine(str);
}
Console.ReadLine();
}
}
}
输出
Programiz developed programmers
在上面的示例中,请注意这一行:
string[] result = text.Split(separators, StringSplitOptions.None);
这里,
- separators - 用于在
"is"
和"for"
处拆分字符串文本的字符串数组 StringSplitOptions.None
- 在返回的数组中包含空数组元素
示例 4:返回指定数量的子字符串
using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {
string text = "a::b::c::d::e::f";
string[] separators = {"::"};
// create a maximum of 2 substrings
string[] result = text.Split(separators, 2, StringSplitOptions.None);
foreach(string str in result) {
Console.WriteLine(str);
}
Console.ReadLine();
}
}
}
输出
a b::c::d::e::f
在上面的示例中,请注意这一行:
string[] result = text.Split(separators, 2, StringSplitOptions.None);
这里,我们将 count 指定为 2,因此它最多返回 2 个子字符串。