各位看看有没有更好的办法?(一维数组问题)我只能给40分

boboplayer 2002-01-22 08:28:00
我现在有一个一维数组a=(1,2,3,10,8,9,11,12,13)和一个特定字符b=3,请教各位有没有更好的办法找到b在a中的位置,并把a中的b删掉也就是最后得到a=(1,2,10,8,9,11,12,13),最好用服务器端VBSCRIPT脚本!
...全文
83 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyzoem 2002-01-22
  • 打赏
  • 举报
回复
position=InStr([start, ]a, b)
a=replace(a,b,"")
xyzoem 2002-01-22
  • 打赏
  • 举报
回复
replace(a,b,"")
a、b均为字符串
boboplayer 2002-01-22
  • 打赏
  • 举报
回复
问题已经用最原始的方法解决!如果有谁知道有特殊的字符串函数(不常用的)请更贴
silentlamb 2002-01-22
  • 打赏
  • 举报
回复
另外如果你通过字符串来进行,完全可以用替换的方法呀,只要把分隔符考虑进去就行了
比如1,2,3,4,5要把3换成8就可以用正则表达式"(^3,)|(,3,)|(,3$)"来匹配:
set reg=new RegExp
reg.pattern="(^3,)|(,3,)|(,3$)"
a=reg.replace(a,"8")
silentlamb 2002-01-22
  • 打赏
  • 举报
回复
所以说vbs弱呢,jscript就有splice方法删除一个数组元素
KnowLittle 2002-01-22
  • 打赏
  • 举报
回复
我找了一会儿,发现没有,所以没回。
boboplayer 2002-01-22
  • 打赏
  • 举报
回复
谢谢以上各位,我最后处理的思维与beyond_xiruo(希偌)差不多的
dim a,aa,b,bb
a=1,2,3,4,5,6,7,8,9,10,11,13,14
b=3
bb=""
aa=split(a,",")
for i=0 to ubound(aa)
if aa(i)<>b then
if bb="" then
bb=aa(i)
else
bb=bb&","&a(i)
end if
end if
next
这样就得到的bb就是过滤后想要的a

我提问的原意是,各位是否知道有直接删除数组中已知的项!也许我太天真了吧!:)


希偌 2002-01-22
  • 打赏
  • 举报
回复
dim a(),b,a1(),j,i
b=3
j=0
for i=0 to ubound(a())
if cint(a(i))=cint(b) then
response.write "b在a中的位置为第"&i&"个字符!"
else
j=j+1
a1(j)=a(i)
end if
next
boboplayer 2002-01-22
  • 打赏
  • 举报
回复
用replace 和instr(instrrev)都很麻烦的,instr()及replace ()是把a中包含b的字符读相应的处理了,这样就把13也处理的,达不到预定的效果了!

28,408

社区成员

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

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