C# String.Split 方法

本文介绍 C# 中 String 类的 Split 方法及其多种重载形式,并通过示例演示如何使用这些方法来解析字符串。Split 方法用于将字符串分割成字符串数组。

String.Split 方法有6个重载函数:

1) public string[] Split(params char[] separator)
2) public string[] Split(char[] separator, int count)
3) public string[] Split(char[] separator, StringSplitOptions options)
4) public string[] Split(string[] separator, StringSplitOptions options)
5) public string[] Split(char[] separator, int count, StringSplitOptions options)
6) public string[] Split(string[] separator, int count, StringSplitOptions options)


下边我们通过一些实例来说明下怎么使用(以下string words = "1,2.3,,4";):

1. public string[] Split(params char[] separator)

string[] split = words.Split(new Char[] { ',' });//返回:{"1","2.3","","4"}
string[] split = words.Split(new Char[] { ',', '.' });//返回:{"1","2","3","","4"}


2. public string[] Split(char[] separator, int count)

string[] split = words.Split(new Char[] { ',', '.' }, 2);//返回:{"1","2.3,,4"}
string[] split = words.Split(new Char[] { ',', '.' }, 6);//返回:{"1","2","3","","4"}


3. public string[] Split(char[] separator, StringSplitOptions options)

string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2","3","4"} 不保留空元素
string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素


4. public string[] Split(string[] separator, StringSplitOptions options)

string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2","3","4"} 不保留空元素
string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素


5. public string[] Split(char[] separator, int count, StringSplitOptions options)

string[] split = words.Split(new Char[] { ',', '.' }, 2, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2.3,,4"} 不保留空元素
string[] split = words.Split(new Char[] { ',', '.' }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素


6. public string[] Split(string[] separator, int count, StringSplitOptions options)

string[] split = words.Split(new string[] { ",", "." }, 2, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2.3,,4"} 不保留空元素
string[] split = words.Split(new string[] { ",", "." }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素


需要注意的是没有重载函数public string[] Split(string[] separator),所以我们不能像VB.NET那样使用words.Split(","),而只能使用words.Split(',')!很多人都很奇怪为什么把双引号改为单引号就可以了?看了上边的重载函数该知道答案了吧^_^

### C# 中 `String.Split` 方法的使用和示例 在 C# 编程中,`String.Split` 是一个常用的方法,用于将字符串按照指定的分隔符拆分为多个子字符串。该方法存在于 `string` 类中,因此可以在任何字符串上调用它。`String.Split` 的语法可以分为两类:一类是以字符(`char`)作为分隔符,另一类是以字符串(`string`)作为分隔符[^4]。 #### 使用字符作为分隔符 当使用字符作为分隔符时,可以通过以下几种方式调用 `Split` 方法: - **根据指定的分隔字符将字符串拆分为子字符串**: ```csharp string str = "长亭外-古道边-芳草碧连天"; string[] arr = str.Split('-'); foreach (string s in arr) { Console.WriteLine(s); } ``` 此代码将字符串 `str` 按照 `'-'` 分隔符拆分成多个子字符串,并输出每个子字符串[^2]。 - **根据指定的分隔字符将字符串拆分成最大数量的子字符串**: ```csharp string str = "apple,banana,orange,grape"; string[] result = str.Split(new char[] { ',' }, 2); ``` 上述代码将字符串 `str` 拆分成最多两个部分。 - **根据指定的分隔字符和选项将字符串拆分为子字符串**: ```csharp string str = "a,,b,c"; string[] result = str.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); ``` 此代码将忽略空条目,结果数组只包含 `"a"`, `"b"`, `"c"`。 - **基于指定的分隔字符和(可选)选项将字符串拆分为最大数量的子字符串**: ```csharp string str = "one two three four five"; string[] result = str.Split(new char[] { ' ' }, 3, StringSplitOptions.None); ``` 该代码将字符串按空格分割为最多三个部分。 #### 使用字符串作为分隔符 除了字符,还可以使用字符串作为分隔符来拆分字符串: - **根据指定的分隔字符串将字符串拆分为子字符串**: ```csharp string input = "hello world welcome to C#"; string[] parts = input.Split(new string[] { " " }, StringSplitOptions.None); ``` - **根据指定的分隔字符串将字符串拆分成最大数量的子字符串**: ```csharp string input = "apple|banana|orange|grape"; string[] parts = input.Split(new string[] { "|" }, 2, StringSplitOptions.None); ``` - **基于指定的分隔字符串和(可选)选项将字符串拆分为子字符串**: ```csharp string input = "data1,,data2,data3"; string[] parts = input.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); ``` - **基于指定的分隔字符串和(可选)选项将字符串拆分为最大数量的子字符串**: ```csharp string input = "item1;item2;item3;item4"; string[] parts = input.Split(new string[] { ";" }, 3, StringSplitOptions.None); ``` 上述示例展示了如何灵活地使用 `String.Split` 方法来处理不同场景下的字符串分割需求。通过选择适当的重载形式,可以精确控制拆分行为,例如限制返回的子字符串数量或去除空条目。 此外,`String.Split` 方法常用于解析用户输入的数据,例如从全名中提取姓氏、名字和中间名首字母等操作。这种情况下,`Split` 方法能够帮助程序更有效地处理和分析字符串内容[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值