明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

c#中分割字符串的幾種方法

[摘要]最近經(jīng)常看到論壇中許多帖子詢問如何使用split來分割字符串,我這里對split做一些簡單的總結(jié),希望能夠?qū)Υ蠹矣兴鶐椭。下面介紹幾種方法:第一種方法:打開vs.net新建一個控制臺項(xiàng)目。然后在Main()方法下輸入下面的程序。 string s="abcdeabcdeabcd...

最近經(jīng)?吹秸搲性S多帖子詢問如何使用split來分割字符串,我這里對split做一些簡單的總結(jié),希望能夠?qū)Υ蠹矣兴鶐椭。下面介紹幾種方法:

第一種方法:打開vs.net新建一個控制臺項(xiàng)目。然后在Main()方法下輸入下面的程序。

      string s="abcdeabcdeabcde";

       string[] sArray=s.Split(''c'');

       foreach(string i in sArray)

       Console.WriteLine(i.ToString());

 

        輸出下面的結(jié)果:ab

                       deab

                       deab

                       de

                         

 

    我們看到了結(jié)果是以一個指定的字符進(jìn)行的分割。如果我們希望使用多個字符進(jìn)行分割如c,d,e如何做呢?好,我們使用另一種構(gòu)造方法:

 

       更改為     string s="abcdeabcdeabcde

     string[] sArray1=s.Split(new char[3]{''c'',''d'',''e''});

        foreach(string i in sArray1)

        Console.WriteLine(i.ToString());

 

    可以輸出下面的結(jié)果:ab

                       ab

                       ab

 

  除了以上的這兩種方法以外,第三種方法是使用正則表達(dá)式。新建一個控制臺項(xiàng)目。然后先添加 using System.Text.RegularExpressions;
'http://www.knowsky.com
Main() :中更改為

       System.Text.RegularExpressions

      string content="agcsmallmacsmallgggsmallytx";

      string[]resultString=Regex.Split(content,"small",RegexOptions.IgnoreCase)
       foreach(string i in resultString)
        Console.WriteLine(i.ToString());
 
        輸出下面的結(jié)果:agc
                       mac
                       ggg
                       ytx
使用正則表達(dá)式有什么好處呢? 別著急,后面我們會看到它的獨(dú)特之處。
下面介紹第4種方法。比如

    string str1="我*****是*****一*****個*****教*****師";

    如果我希望顯示為:我是一個教師,  ,如何作呢? 我們可以使用下面代碼:

 

 

      string str1="我*****是*****一*****個*****教*****師;

       string[] str2;

       str1=str1.Replace("*****","*");

       str2=str1.Split(''*'');

      foreach(string i in str2)

       Console.WriteLine(i.ToString());

 

 

這樣也可以得到正確結(jié)果。但是比如

    string str1="我**是*****一*****個*****教*****師";

      我希望顯示的結(jié)果為:我是一個教師。

      我如果采用上面的第四種方法來做就會產(chǎn)生下面的錯誤:我   是一個教師

      中間有空格輸出,所以輸出結(jié)果并不是我希望的結(jié)果,如何解決呢?這就又回到了正則表達(dá)式了(這里可以看到它的功能強(qiáng)大之處),這時可以采用下面的第五種方法:

 

      string str1="我**是*****一*****個*****教*****師";

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

foreach(string i in str2)

Console.WriteLine(i.ToString());

 

這里通過"[*]+" 巧妙的完成了我們的目標(biāo)。

      上面介紹了c#中分割字符串的幾種方法,如果大家有更好的方法歡迎與我交流:)

您可以在我的個人Blog 上留言 : http://cnblogs.com/redbb