返回首页
回答首页 | 新闻动态 | 问题分类 | 热点问题 | 高分问题 | 已解决问题 | 未解决问题 | 用户排行榜 | 专家排行榜 | DIGG排行榜 | 积分换礼品 | 用户共享
 您的位置:首页 → 程序编程 → ASP
 问题诉求
谁能帮我写一个用ASP分割字符串的代码?
 悬赏分:0  
比如,把: 123,456,7890 分割成3个字符串123和456和7890,并可以用数组保存。
提问者:siruo  - 头衔:一星会员   
    
    
 最新评论
共1条
arrayReturn=Split("123,456,7890",","); 
就可以了 
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) & "") 
For i = LBound(aryReturn) To UBound(aryReturn) 
Response.Write("返回值数组中的元素[" & i & "]:" & Right(aryReturn(i),Len(aryReturn(i))-2) & "") 
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函数来分割一个字符串中并不存在的分割符时,将返回整个字符串,其结果是只有一个元素的数组。
<% 
aa=Split("123,456,7890",",") 
for i=0 to 2 
response.write(aa(i)&""&) 
next 
%>
    回答者:k333  - 头衔:二星会员 2008/5/16 1:05:33  

专家签名:我的签名dfsafdsafdsafdsa
专家博客:http://www.siruo.net.cn/

我的回答:
回答即可得10分,被采纳则可得20分及本问悬赏分。
参考网址:
 
快要到期的问题
待解决的问题