標簽: 雜談 |
asp.net中split的用法.html
第一種方法:
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
ab
---------------------
第三種方法:
除了以上的這兩種方法以外,第三種方法是使用正則表達式。新建一個控制臺項目。然后先添加 using System.Text.RegularExpressions;
System.Text.RegularExpressions
string content=agcsmallmacsmallgggsmall
string[]resultString=Regex.Split(content,small,RegexOptions.IgnoreCase)
foreach(string i in resultString)
Console.WriteLine(i.ToString());
輸出下面的結果:
agc
mac
ggg
ytx
-----------------------------
第四種方法:
string str1=我*****是*****一*****個*****教*****師;
string[] str2;
str1=str1.Replace(*****,*) ;
str2=str1.Split(*) ;
foreach(string i in str2)
Console.WriteLine(i.ToString());
--------------------------------
第五種方法:
string str1=我**是*****一*****個*****教*****師;
我希望顯示的結果為:我是一個教師。
我如果采用上面的第四種方法來做就會產生下面的錯誤:我
string str1=我**是*****一*****個*****教*****師;
string[] str2 = System.Text.RegularExpressions.Regex.Split(str1,@[*]+);
foreach(string i in str2)
Console.WriteLine(i.ToString());
這里通過[*]+ 巧妙的完成了我們的目標。
1、用字符串分隔:
using System.Text.RegularExpressions;
string str="aaajsbbbjsccc";
string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "<br>");
輸出結果:
aaa
bbb
ccc
2、用多個字符來分隔:
string str="aaajbbbscccjdddseee";
string[] sArray=str.Split(new char[2]{'j','s'});
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
輸出結果:
aaa
bbb
ccc
ddd
eee
3、用單個字符來分隔:
string str="aaajbbbjccc";
string[] sArray=str.Split('j');
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
輸出結果:
aaa
bbb
ccc
4, 有這樣一組數
s00:2008-10-10,s01:2008-10-11,s02:2008-10-12
要輸出這樣的結果
s00 s01 s02
2008-10-10 2008-10-11 2008-10-12
方法1:
string a = "s00:2008-10-10,s01:2008-10-11,s02:2008-10-12";
string c = string.Empty, d = string.Empty;
foreach (string b in a.Split(','))
{
c += b.Split(':')[0] + " ";
d += b.Split(':')[1] + " ";
}
輸出c和d.
方法2:
string str="s00:2008-10-10,s01:2008-10-11,s02:2008-10-12"
string[] arr=str.split(new char[]{':',','}));
for(int i=1;i <=arr.length;i++)
{
if(i%2>0)
{
response.write(arr[i]+" ");
}
else
{
response.write(" <br/>"+arr[i]);
}