第一種方法:
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
第三種方法:
除了以上的這兩種方法以外,第三種方法是使用Regex。建立一個控制台項目。然後先添 加引用: 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="我**是*****一*****個*****教*****師";
我希望顯示的結果為:我是一個教師。
我如果採用上面的第四種方法來做就會產生下面的錯誤:我 是一個教師。中間有空格輸出,所以輸出結果並不是希望的結果,這就又回到了Regex了,這時可以採用下面的第五種方法:
string str1 = "我**是*****一*****個*****教*****師";
string[] str2 = System.Text.RegularExpressions.Regex.Split(str1, @"\*+");
foreach (string i in str2)
Console.Write(i.ToString());
Console.ReadKey();
這裡通過\*+巧妙的完成了我們的目標。
推薦:
用Regex可以省很多事,所以推薦您用這種形式:
string[] str2 = System.Text.RegularExpressions.Regex.Split(str1, @"\*+", RegexOptions.IgnoreCase);