首页  ·  知识 ·  编程语言
C#中使用split分割字符串的几种方法
www.Tmouse.net  http://www.cnblogs.com/Tmouse/articles/25882.html  .NET  编辑:dezai  图片来源:网络
第一种方法:string s=abcdeabcdeabcde;string[] sArray=s.Split(c) ;foreach(string i in sArra

第一种方法:
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());
这里通过[*]+ 巧妙的完成了我们的目标。

本文作者:www.Tmouse.net 来源:http://www.cnblogs.com/Tmouse/articles/25882.html
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读