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

相關文章
相關標籤/搜索