首页  ·  知识 ·  编程语言
c#,winform,split截取字符串,截串
网友  收集  .NET  编辑:德仔   图片来源:网络
C#代码 1.string s = quot;123a223a456a63223saquot;; 2.nb
C#代码
1.string s = "123a223a456a63223sa";  
2.                        string[] sArray = s.Split('a');  
3.                        foreach (string ii in sArray)  
4.                            MessageBox.Show(ii.ToString()); 
string s = "123a223a456a63223sa";
                        string[] sArray = s.Split('a');
                        foreach (string ii in sArray)
                            MessageBox.Show(ii.ToString());
 结果是
123
223
456
63223s
还有一种输出方法
C#代码
1.string s = "123a223a456a63223sa";  
2.                        string[] sArray = s.Split('a');  
3.                        int j = 0;  
4.                        MessageBox.Show(sArray[0]);  
5.                        MessageBox.Show(sArray[1]);  
6.                        MessageBox.Show(sArray[2]);  
7.                        MessageBox.Show(sArray[3]); 
string s = "123a223a456a63223sa";
                        string[] sArray = s.Split('a');
                        int j = 0;
                        MessageBox.Show(sArray[0]);
                        MessageBox.Show(sArray[1]);
                        MessageBox.Show(sArray[2]);
                        MessageBox.Show(sArray[3]);
 这样结果也是
123
223
456
63223s
C#中使用split分割字符串的几种方法
第一种方法:

C#代码
1.string s=abcdeabcdeabcde;  
2.string[] sArray=s.Split(c) ;  
3.foreach(string i in sArray)  
4.Console.WriteLine(i.ToString()); 
string s=abcdeabcdeabcde;
string[] sArray=s.Split(c) ;
foreach(string i in sArray)
Console.WriteLine(i.ToString());
输出下面的结果:
ab
deab
deab
de
第二种方法:
我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对多个字符进行分割:
C#代码
1.string s=abcdeabcdeabcde  
2.string[] sArray1=s.Split(new char[3]{c,d,e}) ;  
3.foreach(string i in sArray1)  
4.Console.WriteLine(i.ToString()); 
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
C#代码
1.System.Text.RegularExpressions;  
2.System.Text.RegularExpressions  
3.string content=agcsmallmacsmallgggsmallytx;   
4.string[]resultString=Regex.Split(content,small,RegexOptions.IgnoreCase)   
5.foreach(string i in resultString)  
6.Console.WriteLine(i.ToString()); 
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
第四种方法:

C#代码
1.string str1=我*****是*****一*****个*****教*****师;  
2.string[] str2;  
3.str1=str1.Replace(*****,*) ;  
4.str2=str1.Split(*) ;  
5.foreach(string i in str2)  
6.Console.WriteLine(i.ToString()); 
string str1=我*****是*****一*****个*****教*****师;
string[] str2;
str1=str1.Replace(*****,*) ;
str2=str1.Split(*) ;
foreach(string i in str2)
Console.WriteLine(i.ToString());
 第五种方法:
string str1=我**是*****一*****个*****教*****师;
我希望显示的结果为:我是一个教师。
我如果采用上面的第四种方法来做就会产生下面的错误:我   是一个教师。中间有空格输出,所以输出结果并不是希望的结果,这就又回到了正则表达式了,这时可以采用下面的第五种方法:
C#代码
1.string str1=我**是*****一*****个*****教*****师;  
2.string[] str2 = System.Text.RegularExpressions.Regex.Split(str1,@[*]+);   
3.foreach(string i in str2)  
4.Console.WriteLine(i.ToString());  
string str1=我**是*****一*****个*****教*****师;
string[] str2 = System.Text.RegularExpressions.Regex.Split(str1,@[*]+);
foreach(string i in str2)
Console.WriteLine(i.ToString());
 这里通过[*]+ 巧妙的完成了我们的目标。
 
本文作者:网友 来源:网络收集
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读