欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP 中 Split 函数的实例分析

程序员文章站 2022-08-06 08:26:23
asp下使用split实现数组操作的方法asp 中 split 函数的实例   大家有碰到过要想取一字符串里的某些值而无从下手?有没有觉得看书...
asp下使用split实现数组操作的方法
asp 中 split 函数的实例
  大家有碰到过要想取一字符串里的某些值而无从下手?有没有觉得看书或教材对split的写法糊里糊涂……如果有此疑问的话,请看下面我对例子的解释,相信您会对这个有一定的了解。 

  我先介绍一下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函数来分割一个字符串中并不存在的分割符时,将返回整个字符串,其结果是只有一个元素的数组。

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