日期:2013-09-13  浏览次数:20843 次

作者:帅青蛙
最初发表于:经典论坛(通过实例来实现split的理解)
版权帅青蛙所有,如有引用,请注明相关信息。

大家有没有碰到过要想取一字符串里的某些值而无从下手?有没有觉得看书或教材对split的写法糊里糊涂……如果有此疑问的话,请看下面我对例子的解释,相信您会对这个有一定的了解。

例如我想取得一个ftp里的用户名及密码(服务器等)值(用IE当FTP时或从表中取出FTP的值)。
下面是我的解决思路:
设url为收到的URL值,这里指:url=ftp://username:password@server,请注意这句话的规律
我想大家都看清楚这个URL里的规律了吧,就是各个部分都被":"给区分成三个部分,即:ftp、//username、password@server
首先将这个URL的各个部分区分开来,用split(url, ":")
以下是具体的代码:



parts = split(url, ":") '此时parts就有三部分,parts(0)=ftp,parts(1)=//username,parts(2)=password@server'接下来剔除没有用到的信息'由于只取username,所以其中parts(0)跟parts(2)是无用的,直接不引用!newname=replace(parts(1), "//", "") '去除//符号,因为这不是username里的内容'此时的newname既为用户名。


以上是只取用户名的代码,如果你要再取密码的话,可以参考下面。
'由于用户名是属于parts(2)里的,而且包含服务器的信息,如果不取服务器,则:newpass = left(parts(2), instr(parts(2),"@")-1) '取值到@之前的位数。此时的newpass取为密码


以上代码为不取服务器地址的代码,如果有取服务器的话,其实也是很简单的
newparts=split(parts(2),"@") '此时newparts分成两部分:newparts(0)为密码,即password;newparts(1)则为服务器地址,即server'如果要输出密码的的话,直接response.write newparts(0)就可以了,服务器就newparts(1)


后话,对于要取一字符串中的某些字符或部分,只要抓住规律,再加上用split就可以很好做成各种效果。写此文,希望对大家的学习有所帮助,同时也希望大家能够指点一二!