ASP 中 Split 函数的实例
2018-09-06 11:07
我先介绍一下Split函数的用法:
返回值数组 = Split(字符串,分割符)
假设变量strURL保存着URL值,如strURL = ftp://username:password@server,这是我们在IE中登录到FTP上时的URL形式,如果我们想把其中的username和password取出来的话,该怎么办呢?当然解决的方法有许多,在这里我们只介绍用Split来解决的方法。首先,我们找出分割符。我们发现在这个字符串中,username和password之间有个冒号把它们隔开了,所以我们就把这个冒号作为Split函数的分割符来分割整个字符串,最后达到取username和password的目的。代码如下:
strURL = ftp://username:password@server
aryReturn = Split(strURL,:)
这样我们就把字符串用冒号分割开了,分割后的结果保存在aryReturn中(aryReturn是一个数组)。
下面我们就来看看这个最终的结果吧,因为Split函数最终返回的是一个数组,所以我们主要就是显示数组中的元素了,就要涉及到一些跟数组有关的函数:IsArray()判断是否数组的函数,LBound()取数组的下标,UBound()取数组的上标。
Response.Write(返回值是否为数组: IsArray(aryReturn) <br>)
For i = LBound(aryReturn) To UBound(aryReturn)
Response.Write(返回值数组中的元素[ i ]: Right(aryReturn(i),Len(aryReturn(i))-2) <br>)
Next
通过上面的代码,我们看到字符串被分割成三个部分,即:ftp、//username、password@server。我们要取username和password需要进一步的处理,我就不多说了,直接给出代码。
取username的代码:
strUsername = Right(aryReturn(1),Len(aryReturn(1))-2)
取password的代码:
取password我们又用到Split函数了,不过这回的分割符是@
aryTemp = Split(aryReturn(2),@)
strPassword = aryTemp(0)
我们可以顺便取出server
strServer = aryTemp(1)
分割符可以是一个字符,也可以是一个字符串。如:
aryReturn = Split(ftp://username:password@server,//)
注意:
1.一般来说,ASP中可以不声明变量,使用Split函数时,如果要声明返回值的变量的话,只能用Dim,而不能用Redim。虽然说其返回是一个数组,应该是用Redim也可以,但在实际使用过程中是不行。不知是怎么回事?
2. 如果用Split函数来分割一个字符串中并不存在的分割符时,将返回整个字符串,其结果是只有一个元素的数组。