C# split 幾種使用方法

第一種方法:
            string s = "abcdeabcdeabcde";
            string[] sArray = s.Split('c');
            foreach (string i in sArray)
                Console.WriteLine(i.ToString());
            Console.ReadKey();
輸出下面的結果:
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;
            string content = "agcyongfa365macyongfa365gggyongfa365ytx";
            string[] resultString = Regex.Split(content, "yongfa365", RegexOptions.IgnoreCase);
            foreach (string i in resultString)
                Console.WriteLine(i.ToString());
            Console.ReadKey();
輸出下面的結果:
agc
mac
ggg
ytx

第四種方法:
            string str1 = "我*****是*****一*****個*****教*****師";
            string[] str2;
            str1 = str1.Replace("*****", "*");
            str2 = str1.Split('*');
            foreach (string i in str2)
                Console.Write(i.ToString());
            Console.ReadKey();

一般用的最多的是:str.Replace("/r/n","/r").Split('/r')

第五種方法:
string str1="我**是*****一*****個*****教*****師";
我希望顯示的結果爲:我是一個教師。
我如果採用上面的第四種方法來做就會產生下面的錯誤:我   是一個教師。中間有空格輸出,所以輸出結果並不是希望的結果,這就又回到了正則表達式了,這時可以採用下面的第五種方法:
            string str1 = "我**是*****一*****個*****教*****師";
            string[] str2 = System.Text.RegularExpressions.Regex.Split(str1, @"/*+");
            foreach (string i in str2)
                Console.Write(i.ToString());
            Console.ReadKey();
這裏通過/*+巧妙的完成了我們的目標。

推薦:

用正則表達式可以省很多事,所以柳永法推薦您用這種形式:

string[] str2 = System.Text.RegularExpressions.Regex.Split(str1, @"/*+", RegexOptions.IgnoreCase);

第六種方法:

如果是分隔符不是單個字符的話,一般我都是直接這樣用:

string s="123|||456|||678";
string[] sArray=s.Split(new string[] { "|||" }, StringSplitOptions.None);

這樣就行了,當然,分隔符是什麼都無所謂。不需要每次先Replace或者正則替換。

 


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/educast/archive/2010/09/29/5914144.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章