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