C# 中split的用法

第一种方法:
string s=abcdeabcdeabcde;
string[] sArray=s.Split(c) ;
foreach(string i in sArray)
  Console.WriteLine(i.ToString());
输出下面的结果:
ab
deab
deab
de


第二种方法:
我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对多个字符进行分割:
string s=abcdeabcdeabcde
string[] sArray1=s.Split(new char[3]{c,d,e}) ;
foreach(string i in sArray1)
  Console.WriteLine(i.ToString());
可以输出下面的结果:
ab
ab
ab


第三种方法:
除了以上的这两种方法以外,第三种方法是使用正则表达式。新建一个控制台项目。
然后先添加 using System.Text.RegularExpressions;
System.Text.RegularExpressions
string content=agcsmallmacsmallgggsmallytx;
string[]resultString=Regex.Split(content,small,RegexOptions.IgnoreCase)
foreach(string i in resultString)
  Console.WriteLine(i.ToString());
输出下面的结果:
agc
mac
ggg
ytx


第四种方法:
string str1=我*****是*****一*****个*****教*****师;
string[] str2;
str1=str1.Replace(*****,*) ;
str2=str1.Split(*) ;
foreach(string i in str2)
  Console.WriteLine(i.ToString());


第五种方法:
string str1=我**是*****一*****个*****教*****师;
我希望显示的结果为:我是一个教师。
我如果采用上面的第四种方法来做就会产生下面的错误:我   是一个教师。中间有空格输出,所以输出结果并不是希望的结果,这就又回到了正则表达式了,这时可以采用下面的第五种方法:
string str1=我**是*****一*****个*****教*****师;
string[] str2 = System.Text.RegularExpressions.Regex.Split(str1,@[*]+); 
foreach(string i in str2)
  Console.WriteLine(i.ToString()); 
 

### C# 中 `string.Split` 方法详解 #### 基本语法 在C#中,`Split` 是 `System.String` 类的一个实例方法。此方法用于按照指定的分隔符将字符串拆分成子串数组。 ```csharp public string[] Split(params char[] separator); ``` 该函数接受一个参数列表形式的字符数组作为分隔符[^1]。 #### 处理复杂情况下的分割操作 对于更复杂的场景,可以传递额外选项控制如何处理空白项: ```csharp using System; class Program { static void Main() { string input = "one,two;three four|five"; char[] separators = new char[] { ',', ';', ' ', '|' }; // 移除空条目并执行分割 string[] result = input.Split(separators, StringSplitOptions.RemoveEmptyEntries); Console.WriteLine("Using String.Split:"); foreach (var item in result) { Console.WriteLine(item); } } } ``` 上述代码展示了当遇到多种不同类型的分隔符时应采取的方式,并通过设置枚举成员 `StringSplitOptions.RemoveEmptyEntries` 来忽略任何长度为零的结果项[^2]。 #### 单一分割符号的应用案例 如果只需要依据单一字符来进行简单切割,则可以直接传入单个字符而无需创建显式的字符数组: ```csharp class SimpleSplitExample { static void Main() { string str = "长亭外-古道边-芳草碧连天"; var parts = str.Split('-'); foreach (var part in parts){ Console.WriteLine(part); } Console.ReadLine(); } } ``` 这段程序说明了仅需提供一个特定字符即可完成基本的字符串切片工作[^3]。 #### 应对特殊输入情形 值得注意的是,在某些情况下可能会接收到含有连续分隔符或其他异常模式的数据流;此时应当考虑这些特殊情况以确保逻辑正确无误: ```csharp // 示例:处理可能存在的多余逗号或空格 string words = "1,2.3,,4"; char[] delimiters = {','}; // 返回 {"1", "2.3", "", "4"} string[] splitResult = words.Split(delimiters); foreach(var element in splitResult){ Console.WriteLine($"Element: '{element}'"); } ``` 这里展示了一个例子,其中原始字符串包含了相邻而不带有效内容之间的分隔符[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值