跳到主要内容

C# String Split() 字符串分割方法

Split()方法将一个字符串按指定的分隔符拆分,并返回其子字符串。

示例

using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {

string text = "C# 是一门有趣的编程语言";

// 拆分字符串
string[] result = text.Split(" ");

Console.Write("结果: ");
foreach(String str in result) {
Console.Write(str + ", ");
}
Console.ReadLine();
}
}
}

// 输出: 结果: C#, 是, 一门有趣的编程语言,

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";

// 在::处拆分字符串
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";

// 拆分字符串
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"};

// 使用分隔符分隔字符串
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 - 用于在字符串text中分隔字符串的字符串数组
  • 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 = {"::"};

// 创建最多2个子字符串
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);

在这里,我们指定了数量为 2,因此它返回最多 2 个子字符串。