【转】C# split 几种使用方法
第一種方法:
??????????? string s = "abcdeabcdeabcde";
??????????? string[] sArray = s.Split('c');
??????????? foreach (string i in sArray)
??????????????? Console.WriteLine(i.ToString());
??????????? Console.ReadKey();
輸出下面的結(jié)果:
ab
deab
deab
de
第二種方法:
我們看到了結(jié)果是以一個(gè)指定的字符進(jìn)行的分割。使用另一種構(gòu)造方法對多個(gè)字符進(jìn)行分割:
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á)式。新建一個(gè)控制臺項(xiàng)目。然后先添加引用: 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();
輸出下面的結(jié)果:
agc
mac
ggg
ytx
第四種方法:
??????????? string str1 = "我*****是*****一*****個(gè)*****教*****師";
??????????? 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="我**是*****一*****個(gè)*****教*****師";
我希望顯示的結(jié)果為:我是一個(gè)教師。
我如果采用上面的第四種方法來做就會產(chǎn)生下面的錯(cuò)誤:我?? 是一個(gè)教師。中間有空格輸出,所以輸出結(jié)果并不是希望的結(jié)果,這就又回到了正則表達(dá)式了,這時(shí)可以采用下面的第五種方法:
??????????? string str1 = "我**是*****一*****個(gè)*****教*****師";
??????????? string[] str2 = System.Text.RegularExpressions.Regex.Split(str1, @"\*+");
??????????? foreach (string i in str2)
??????????????? Console.Write(i.ToString());
??????????? Console.ReadKey();
這里通過\*+巧妙的完成了我們的目標(biāo)。
推薦:
用正則表達(dá)式可以省很多事,所以柳永法推薦您用這種形式:
string[] str2 = System.Text.RegularExpressions.Regex.Split(str1, @"\*+", RegexOptions.IgnoreCase);
總結(jié)
以上是生活随笔為你收集整理的【转】C# split 几种使用方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到甜瓜是什么意思
- 下一篇: C#反射技术在多语言实现中的实际用处参考