大家有沒(méi)有碰到過(guò)要想取一字符串里的某些值而無(wú)從下手?有沒(méi)有覺(jué)得看書(shū)或教材對(duì)split的寫(xiě)法糊里糊涂……如果有此疑問(wèn)的話,請(qǐng)看下面我對(duì)例子的解釋,相信您會(huì)對(duì)這個(gè)有一定的了解。
例如我想取得一個(gè)ftp里的用戶名及密碼(服務(wù)器等)值(用IE當(dāng)FTP時(shí)或從表中取出FTP的值)。
下面是我的解決思路:
設(shè)url為收到的URL值,這里指:url=ftp://username:password@server,請(qǐng)注意這句暗墓媛?br>我想大家都看清楚這個(gè)URL里的規(guī)律了吧,就是各個(gè)部分都被":"給區(qū)分成三個(gè)部分,即:ftp、//username
首先將這個(gè)URL的各個(gè)部分區(qū)分開(kāi)來(lái),用split(url, ":")
以下是具體的代碼:
parts = split(url, ":") ’此時(shí)parts就有三部分,parts(0)=ftp,parts(1)=//username,parts(2)=password@server’接下來(lái)剔除沒(méi)有用到的信息’由于只取username,所以其中parts(0)跟parts(2)是無(wú)用的,直接不引用!newname=replace(parts(1), "http://", "") ’去除//符號(hào),因?yàn)檫@不是username里的內(nèi)容’此時(shí)的newname既為用戶名。
以上是只取用戶名的代碼,如果你要再取密碼的話,可以參考下面。
’由于用戶名是屬于parts(2)里的,而且包含服務(wù)器的信息,如果不取服務(wù)器,則:newpass = left(parts(2), instr(parts(2),"@")-1) ’取值到@之前的位數(shù)。此時(shí)的newpass取為密碼
以上代碼為不取服務(wù)器地址的代碼,如果有取服務(wù)器的話,其實(shí)也是很簡(jiǎn)單的
newparts=split(parts(2),"@") ’此時(shí)newparts分成兩部分:newparts(0)為密碼,即password;newparts(1)則為服務(wù)器地址,即server’如果要輸出密碼的的話,直接response.write newparts(0)就可以了,服務(wù)器就newparts(1)
后話,對(duì)于要取一字符串中的某些字符或部分,只要抓住規(guī)律,再加上用split就可以很好做成各種效果。寫(xiě)此文,希望對(duì)大家的學(xué)習(xí)有所幫助,同時(shí)也希望各路高手能夠指點(diǎn)一二!
更多信息請(qǐng)查看IT技術(shù)專欄