服務(wù)熱線
153 8323 9821
我們先來(lái)看第一種情況:
string str = "aaaa|ccccc|dddd|eeeee|ffff";
string[] array = str.Split('|');
foreach (string i in array) Response.Write(i+"<br />");
所用方法重載如下:
在Split方法中需要的是一個(gè) char型的數(shù)組,那么我們上面的情況傳入的參數(shù)就是只有一個(gè)字符的char型參數(shù)'|' 所以這個(gè)| 要用兩個(gè)單引號(hào)引起來(lái),當(dāng)然我們還可以把代碼寫(xiě)成這樣:
string str = "aaaa|ccccc|dddd|eeeee|ffff";
string[] array = str.Split(new char[1]{'|'});
foreach (string i in array) Response.Write(i+"<br />");
輸出結(jié)果:
aaaa
ccccc
dddd
eeeee
ffff
OK,第一種情況解決了,那么如今我們又遇到了另一個(gè)問(wèn)題,如果是多種字符的該如何處理,例如:
aaaa|ccccc,dddd,eeeee|ffff
處理代碼如下:
string str = "aaaa|ccccc,dddd,eeeee|ffff";
string[] array = str.Split(new char[2] { '|', ','});
foreach (string i in array) Response.Write(i+"<br />");
上面我們已經(jīng)說(shuō)到過(guò)了,Split里第一個(gè)重載所需要的參數(shù)是一個(gè)char型數(shù)組,那么既然是數(shù)組,我們當(dāng)然可以多定義幾個(gè)字符傳進(jìn)去咯。
輸出結(jié)果:
aaaa
ccccc
dddd
eeeee
ffff
單字符的情況我們已經(jīng)解決了,那么突然我們又遇到了另一種情況,如:
sinabaidusohubaiduyahoobaiduqq
這樣一個(gè)字符串,我們是用baidu這個(gè)字符串來(lái)分割的,如何來(lái)處理呢
代碼如下:
string str = "sinabaidusohubaiduyahoobaiduqq";
string[] sArray = Regex.Split(str, "baidu", RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "<br />");
輸出結(jié)果:
sina
sohu
yahoo
qq
一般問(wèn)題以上三種情況基本都可以解決了,但是有的時(shí)候我們會(huì)出現(xiàn)分隔出來(lái)的數(shù)據(jù)為空的情況,那么出現(xiàn)這種情況如何來(lái)避免呢。
我們且來(lái)看第二個(gè)參數(shù)的注釋:
當(dāng)選擇None的時(shí)候,返回的結(jié)果里將會(huì)包含空元素
當(dāng)選擇RemoveEmptyEntries的時(shí)候?qū)?huì)把為空的元素去除掉。
OK,至此我們用Split分隔的一些情況就都講解完了。
在進(jìn)行數(shù)據(jù)傳輸和存儲(chǔ)的時(shí)候我們經(jīng)常要把很多元素的數(shù)據(jù)集合放到一個(gè)變量里傳遞,這樣既減少了傳遞次數(shù)又減少了占用空間。例如我要把產(chǎn)品名和產(chǎn)品id以及產(chǎn)品價(jià)格統(tǒng)一寫(xiě)到一傳傳遞就會(huì)構(gòu)造出如下這樣一個(gè)字符串 123|iphone4s|$200 然后在另一個(gè)頁(yè)面或程序中去處理這個(gè)字符串,今天就來(lái)講一下C#(Asp.net)中split方法的使用。