为什么数组不能循环呢?

shenxian3 2008-05-08 06:17:45
代码如下:

dim q:q="中国-北京,中国-上海" '这里取北京、上海
dim qs:qs=split(q,",")
dim tmp
for each tmp in qs
dim temp:temp=split(tmp,"-")
okweb=replace(moban,"AAAA",temp(1)) '这里将模板中AAAA替换数组中的北京、上海
next
end if


打印输出temp(1)正常显示出 北京、上海,但是替换模板却始终不行,只能替换成一个北京,上海不见了。。。

这个是什么状况啊?
...全文
131 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenxian3 2008-05-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 showbo 的回复:]
使用正则来替换

VBScript codemoban="111111AAAA22222222222AAAA3333333333333AAAA"
Response.Write moban&"<br>"
Dim q:q="中国-北京,中国-上海" '这里取北京、上海
Dim qs:qs=split(q,",")
Dim reg
Set reg=New RegExp
reg.pattern="AAAA"
reg.ignorecase=False'区分大小写
reg.global=False'担搁匹配替换
dim tmp
for each tmp In qs
dim temp:temp=split(tmp,"-")
moban=reg.Replace(moban,te…
[/Quote]

这个不错,很接近了!谢谢
Go 旅城通票 2008-05-09
  • 打赏
  • 举报
回复
使用正则来替换
moban="111111AAAA22222222222AAAA3333333333333AAAA"
Response.Write moban&"<br>"
Dim q:q="中国-北京,中国-上海" '这里取北京、上海
Dim qs:qs=split(q,",")
Dim reg
Set reg=New RegExp
reg.pattern="AAAA"
reg.ignorecase=False'区分大小写
reg.global=False'担搁匹配替换
dim tmp
for each tmp In qs
dim temp:temp=split(tmp,"-")
moban=reg.Replace(moban,temp(1))
next
Set reg=Nothing
Response.Write moban&"<br>"
shenxian3 2008-05-09
  • 打赏
  • 举报
回复
3楼兄弟,这样还是不行的。
这个替换后成了北京上海在一起了
我是要将模板中的同 一个字段循环替换,比如北京上海分开的。。
jnwentao 2008-05-08
  • 打赏
  • 举报
回复
okweb=replace(moban,"AAAA",split(tmp,"-")(1),1,1)
这样就可以了,每次只进行一个替换
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zl_c 的回复:]
替换放在最后:
VBScript codeDim q:q="中国-北京,中国-上海" '这里取北京、上海
Dim qs:qs=split(q,",")
Dim tmp,TempStr
For Each tmp In qs
TempStr = TempStr & Split(tmp,"-")(1)
Next
okweb=Replace(moban,"AAAA",TempStr) '这里将模板中AAAA替换数组中的北京、上海
[/Quote]

呵呵,这个也只能对一部分,还达不到LZ得效果,需要做修改
十一文 2008-05-08
  • 打赏
  • 举报
回复
同意上面的
zl_c 2008-05-08
  • 打赏
  • 举报
回复
替换放在最后:
Dim q:q="中国-北京,中国-上海"   '这里取北京、上海
Dim qs:qs=split(q,",")
Dim tmp,TempStr
For Each tmp In qs
TempStr = TempStr & Split(tmp,"-")(1)
Next
okweb=Replace(moban,"AAAA",TempStr) '这里将模板中AAAA替换数组中的北京、上海
jnwentao 2008-05-08
  • 打赏
  • 举报
回复
一楼正解
还有
dim temp:temp=split(tmp,"-")
okweb=replace(moban,"AAAA",temp(1))
可以直接写成
okweb=replace(moban,"AAAA",split(tmp,"-")(1))
避免重复申明变量
lzp4881 2008-05-08
  • 打赏
  • 举报
回复
当你把moban中的AAAA替换成北京后,再次循环时AAAA已经没有了,当然替换不了上海了。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧