不是高手,请让路...谢谢

qq19200176 2006-01-12 04:11:52
现在这样的一个集合obj假如包含(a=4,b=599,c=6,d=72,e=558)
dim tempvar
tempvar="a"
for each variables in obj
if variables<>tempvar then
str=str&variables&"="&variables的值
end
next
目前的情况是集合中有a,str就录取它和它的值!
结果会是 str="b=599c=6d=72e=558"
现在要解决的问题是:如果tempvar中有两个者两个以上的参数,假如形式是这样写的
dim tempvar
tempvar="a,e,c"
for each variables in obj
if variables<>tempvar then
str=str&variables&"="&variables的值
end
next
现在该如何判断!
想要的结果是str="b=599d=72"

声明:instr(tempvar,variables)<>0这种方式我会。不需要。还有没有其他的办法
象数组的方式:

dim tempvar
tempvar="a,e,c"
tempvar=split(tempvar,",")
for each variables in obj
for i to ubound(temparr)
if variables<>tempvar(i) then
str=str&variables&"="&variables的值
end
next
next
这样方式。。好象有点问题???谁能解决~~~~
不会请不要乱答·!!!!
...全文
143 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
KimSoft 2006-01-12
  • 打赏
  • 举报
回复
VBS中有

Exit Do
Exit For
Exit Function
Exit Property
Exit Sub
qq19200176 2006-01-12
  • 打赏
  • 举报
回复
To hansonboy(良) or KimSoft(革命的小酒天天醉)

谢谢你们的回答...明白了,想起来.以前写JS太多.所以VBSCRIPT是很熟悉...
不过JS里有个countine 和 break 跳出.在VB里不太熟悉.呵呵.
恩 好。
有了这个思路.就好了。
我正在写一个类..全功能.提交表单呵呵...
好了。如果需要.加入群吧.
恩.解贴拉
KimSoft 2006-01-12
  • 打赏
  • 举报
回复
我觉得这样用instr代码和效率都会简洁些。用数组烦一些,效率也未必高。
KimSoft 2006-01-12
  • 打赏
  • 举报
回复
关键问题不在集合上!是在准确的搜到字符.
例:instr(",a,","a,")这样就有问题了啊,,,

============================================================
我知道关键问题不在集合上,我只是模拟了个集合,方便测试,呵呵。

不会出现你的那个样子instr(",a,","a,")
InStr("," & tempvar & ",", "," & variables & ",") = 0
只会变成
instr(",.........,", ",......,")
搜索的字符串和被搜索的两边都有逗号,以保证唯一性。
^^^^^^^^^^^^
KimSoft 2006-01-12
  • 打赏
  • 举报
回复
如果是开头可末尾的话?!
hansonboy 2006-01-12
  • 打赏
  • 举报
回复
不知这样行否, 不过我不算高手
hansonboy 2006-01-12
  • 打赏
  • 举报
回复
dim tempvar,isOk
tempvar="a,e,c"
tempvar=split(tempvar,",")
for each variables in obj
isOk=True
for i to ubound(temparr)
if variables=tempvar(i) then
isOk=False
Exit For
end
next
If isOk Then str=str&variables&"="&variables的值
next
qq19200176 2006-01-12
  • 打赏
  • 举报
回复
to : KimSoft(革命的小酒天天醉)

谢谢你的答复,但是还是有问题,如果是开头可末尾的话,就不会找不到哪个表达式了.,
关键问题不在集合上!是在准确的搜到字符.
例:instr(",a,","a,")这样就有问题了啊,,,

to:xjq2003(xjq2003)
你这样就很不厚道,我也是不想浪费你们的时间.不会,就不要答..很正常
xjq2003 2006-01-12
  • 打赏
  • 举报
回复
你这种人,有困难找人帮忙还一定要高手………………
KimSoft 2006-01-12
  • 打赏
  • 举报
回复
如果是普通集合,请将obj.Item(variables)改为variables就可以了。
KimSoft 2006-01-12
  • 打赏
  • 举报
回复
<%
'a=4,b=599,c=6,d=72,e=558
Set obj = Server.CreateObject("Scripting.Dictionary")
obj.Add "a", "4"
obj.Add "b", "599"
obj.Add "c", "6"
obj.Add "d", "72"
obj.Add "e", "558"

tempvar="a"
for each variables in obj
if variables <> tempvar then
str = str & variables & "=" & obj.Item(variables)
end if
next
response.write str

Response.write"<br>-------------------------<br>"

str = "" '初始化str
tempvar="a,e,c"
for each variables in obj
if InStr("," & tempvar & ",", "," & variables & ",") = 0 then
str = str & variables & "=" & obj.Item(variables)
end if
next
response.write str
%>


输出:

b=599c=6d=72e=558
-------------------------
b=599d=72


说明:
一、没有集合,所以用Scripting.Dictionary代替(其实也是集合,支持for each),实现应用时代码要做少许修改。

二、核心代码是InStr("," & tempvar & ",", "," & variables & ",") = 0这一句,两边加上逗号。以保证唯一性。

28,406

社区成员

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

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