首先,我在知道Split這個(gè)函數(shù)的作用,是把一個(gè)字符串按指定的分割符分割成一個(gè)字符串?dāng)?shù)組。
ASP里有這個(gè)Split,是這樣定義的dim Split(byval source as string ,byval str as string) as string()
source是源字符串,str是分隔符
我這里用了VB.net的寫(xiě)法,方便說(shuō)明返回值的類(lèi)型和參數(shù)的類(lèi)型。
大家一看就明白怎么用了。
在C#里,我們是這樣用的
string[] Split(string source,char[] char)
在這里Char是一個(gè)Char[]數(shù)組,我們?cè)谑褂脮r(shí)可以這樣設(shè)定new char[]{','} 這樣就只定義了一個(gè)分割符,還可以用new char[] {',','.','#'}來(lái)定義多個(gè)分割符。這在C#里是很簡(jiǎn)單的一種用法。
可以在ASP里要使用多個(gè)分割符來(lái)分割字符串,應(yīng)該怎么做呢?
Asp里的Split只能給一個(gè)字符串參數(shù)來(lái)當(dāng)分割符。我查閱了一些資料,沒(méi)有找到ASP里的Split定義多個(gè)分割符的方法。
看來(lái)只有自己處理了,最后找出一種方法:先把源字符串里我們認(rèn)為要被當(dāng)做分割符的字符都轉(zhuǎn)換成一個(gè)特定的字符,比如“,”。然后我們?cè)儆眠@個(gè)特定的分割符來(lái)進(jìn)行分割,例子如下:
這樣就實(shí)現(xiàn)了Asp里的Split使用多個(gè)分割符的方法了。
學(xué)而無(wú)思則不進(jìn),所以接下來(lái)想到了C#里的Split的工作方法。
怎么樣能達(dá)到不錯(cuò)的效率呢?如果它先用char[0]來(lái)分割字符串,然后再用char[1]分割,再用char[2],char[3]... 這樣多次分割后再組成一個(gè)數(shù)組來(lái)得到最終的結(jié)果。似乎這樣做的效率并不高,個(gè)人覺(jué)得也不會(huì)用這種方法來(lái)處理。
所以個(gè)人覺(jué)得C#里的Split可以也是按上面ASP里的方法來(lái)實(shí)現(xiàn)的Split的char[]分割?先用把source里和Char[]的相同的字符都轉(zhuǎn)成一個(gè)特定的分割符,或許不是',' 或許是一個(gè)我們字符串里基本不可能出現(xiàn)的Char,這樣安全性更高。然后再用這個(gè)特定的分割符來(lái)進(jìn)行分割。這樣效率應(yīng)該會(huì)高不少。
新聞熱點(diǎn)
疑難解答
圖片精選