Java String.split()用法小结(转)

2010-02-11 09:21


第一种方法:
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
abide

第三种方法:
除了以上的这两种方法之外,第三种方法是使用正则表达式。新建一个控制台项目。而后先添加 using System.Text.RegularExpressions;
System.Text.RegularExpressionsspa


string content=agcsmallmacsmallgggsmallytx;
string[]resultString=Regex.Split(content,small,RegexOptions.IgnoreCase)
foreach(string i in resultString)
Console.WriteLine(i.ToString());
输出下面的结果:
agc
mac
ggg
ytxblog

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

第五种方法:
string str1=我**是*****一*****个*****教*****师;
我但愿显示的结果为:我是一个教师。
我若是采用上面的第四种方法来作就会产生下面的错误:我   是一个教师。中间有空格输出,因此输出结果并非但愿的结果,这就又回到了正则表达式了,这时能够采用下面的第五种方法:
string str1=我**是*****一*****个*****教*****师;
string[] str2 = System.Text.RegularExpressions.Regex.Split(str1,@[*]+);
foreach(string i in str2)
Console.WriteLine(i.ToString());
这里经过[*]+ 巧妙的完成了咱们的目标。字符串

我在应用中用到一些,给你们总结一下,仅供你们参考:
一、若是用“.”做为分隔的话,必须是以下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
二、若是用“|”做为分隔的话,必须是以下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\\";
三、若是在一个字符串中有多个分隔符,能够用“|”做为连字符,好比:“acount=? and uu =? or n=?”,把三个都分隔出来,能够用String.split("and|or");string

相关文章
相关标签/搜索