C#中Split用法~

、用字符串分隔: 
using  System.Text.RegularExpressions;
string  str = " aaajsbbbjsccc " ;
string [] sArray = Regex.Split(str, " js " ,RegexOptions.IgnoreCase);
foreach  ( string  i  in  sArray) Response.Write(i.ToString()  +   " <br> " );
输出结果:
aaa
bbb
ccc
2 、用多个字符来分隔:
string  str = " aaajbbbscccjdddseee " ;  
string [] sArray = str.Split( new   char [ 2 ]   {'j','s'} ); 
foreach ( string  i  in  sArray) Response.Write(i.ToString()  +   " <br> " ); 
输出结果:
aaa
bbb
ccc
ddd
eee
3 、用单个字符来分隔:
string  str = " aaajbbbjccc " ;
string [] sArray = str.Split( ' j ' );
foreach ( string  i  in  sArray) Response.Write(i.ToString()  +   " <br> " );
输出结果:
aaa
bbb
ccc

 
////////////////////////////////////////////////
string[] arr = str.Split("o");

这是一个具有语法错误的语句,Split 的 separator 参数应该是 char[] 或 string[],不应是字符串。正确的示例:

string str = "technology";
char[] separator = { 'o' };
string[] arr = str.Split(separator);
////////////////////////////////////////////////////

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` 方法是用于将字符串按照指定的分隔符拆分为子字符串数组的一种便捷方式。此方法适用于基于一个或多个分隔符对字符串进行分割,常用于处理文本数据,例如解析文件路径、提取字段等。 ### 基本语法 `String.Split` 方法的基本语法如下: ```csharp string[] Split(params char[] separator) ``` - `separator`:指定的分隔符字符数组。 - 返回值为一个 `string[]` 类型的数组,包含拆分后的子字符串。 ### 常用示例 #### 示例 1:使用单个分隔符 以下代码展示了如何使用空格作为分隔符拆分字符串: ```csharp string input = "apple orange banana"; char[] separator = { ' ' }; string[] result = input.Split(separator); foreach (string word in result) { Console.WriteLine(word); } ``` 输出结果: ``` apple orange banana ``` #### 示例 2:使用多个分隔符 `String.Split` 也支持多个分隔符。例如,将字符串按照逗号、分号和空格进行拆分: ```csharp string input = "apple, orange; banana"; char[] separator = { ',', ';', ' ' }; string[] result = input.Split(separator); foreach (string word in result) { Console.WriteLine(word); } ``` 输出结果: ``` apple orange banana ``` #### 示例 3:限制拆分结果 可以通过 `StringSplitOptions` 参数控制是否移除空条目。例如: ```csharp string input = "apple,,orange,banana"; char[] separator = { ',' }; string[] result = input.Split(separator, StringSplitOptions.RemoveEmptyEntries); foreach (string word in result) { Console.WriteLine(word); } ``` 输出结果: ``` apple orange banana ``` 如果省略 `StringSplitOptions.RemoveEmptyEntries`,输出将包含空字符串条目。 ### 高级功能 #### 使用字符串作为分隔符 `String.Split` 还支持以字符串作为分隔符进行拆分。例如: ```csharp string input = "apple-separator-orange-separator-banana"; string[] separator = { "-separator-" }; string[] result = input.Split(separator, StringSplitOptions.None); foreach (string word in result) { Console.WriteLine(word); } ``` 输出结果: ``` apple orange banana ``` #### 指定字符串比较方式 可以使用 `StringComparison` 参数指定字符串比较的方式,例如区分大小写或忽略大小写: ```csharp string input = "Apple,apple,Orange"; string[] separator = { "apple" }; string[] result = input.Split(separator, StringComparison.OrdinalIgnoreCase); foreach (string word in result) { Console.WriteLine(word); } ``` 输出结果: ``` , ,Orange ``` ### 注意事项 1. **性能优化**:在处理大量数据时,合理使用 `StringSplitOptions.RemoveEmptyEntries` 可以减少不必要的空字符串存储。 2. **分隔符选择**:根据实际需求选择合适的分隔符类型(单个字符、多个字符或字符串)。 3. **区分大小写**:在需要精确匹配时,建议明确指定 `StringComparison` 参数以避免意外行为。 ### 相关问题 1. C# 中如何使用 `Split` 方法处理复杂的分隔符? 2. `String.Split` 方法与正则表达式拆分相比有哪些优缺点? 3. 如何在 C# 中高效处理字符串拆分后的结果? 4. `String.Split` 是否支持动态分隔符?如何实现?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值