|
主题: 还有一个数组的实际问题
|
mlzboy
职务:普通成员
等级:2
金币:2.0
发贴:317
|
#12004/4/13 7:52:34
问题如下: dim class_e class_e="机械023|机械022|机械021|机械011" '我想删除其中的任意一个,如机械022这个根据传递过来的变量temp决定,然后使 new_class_e="机械023|机械021|机械011"(假设temp传过来的值是——>机械022)
我想是得用split(),ubound(),join(),以及for next循环,但是编出来是有错,望高手指点
|
mlzboy
职务:普通成员
等级:2
金币:2.0
发贴:317
|
#22004/4/13 7:59:00
代码如下: array_class_e=split(class_e,"|") for i=0 to ubound(array_class_e)) if array_class_e(i)=temp then exit for next
dim array_class_e_2() for j=0 to ubound(array_class_e) if j<i then array_class_e_2(j)=array_class_e(j) if j=i and i<ubound(array_class_e) then array_class_e_2(j)=array_class_e(i+1) if j=i and i=ubound(array_class_e) then exit for next
new_class_e=join(array_class_e_2(),"|") 好像在逻辑上也有错误,请指点
|
mlzboy
职务:普通成员
等级:2
金币:2.0
发贴:317
|
#32004/4/13 9:49:04
我修改了一下,不知道这样可不可以
array_class_e_2=filter(array_class_e,temp,false)
new_class_e=join(array_class_e_2,"|")
|
爱多媒体爱生活
职务:普通成员
等级:2
金币:1.0
发贴:303
|
#42004/4/13 11:46:21
你的项目的字符串长度都一样那不用数组也可以吧!! 先找子串在字符串中的位置,起始位,再用起始位+相同的长度. 如: class_e="机械023|机械022|机械021|机械011" 传过来是temp="机械022" 那你可以先找出temp在class_e中的起始位和结束位. 再用相应的截取函数来得到两端的字串再加起来. 总之就是这样截取就可以啦!不用数组的! 我的思路就是这样啦!!
|
mlzboy
职务:普通成员
等级:2
金币:2.0
发贴:317
|
#52004/4/13 12:20:30
520media在上个帖子中说 引用: 你的项目的字符串长度都一样那不用数组也可以吧!! 先找子串在字符串中的位置,起始位,再用起始位+相同的长度. 如: class_e="机械023|机械022|机械021|机械011" 传过来是temp="机械022" 那你可以先找出temp在class_e中的起始位和结束位. 再用相应的截取函数来得到两端的字串再加起来. 总之就是这样截取就可以啦!不用数组的! 我的思路就是这样啦!!
我的长度不是定的啊
|
绿茶
职务:普通成员
等级:8
金币:10.0
发贴:19267
|
#62004/4/13 17:20:47
用replace()替换 然后数组重排,这时替换掉的位置应该是空的,所以遇到值为空的地方,就跳转继续
|
绿茶
职务:普通成员
等级:8
金币:10.0
发贴:19267
|
#72004/4/15 14:39:18
示例:
rem ===当有手机时===
if rsc>0 then
mobile = rs.getString(2,,,",","")
mobile = left(trim(mobile),len(mobile)-1)
'
rem ===确定最大抽奖用户数===
if num = "" then num = 10
num = cint(num)
if num >= rsc then
num = rsc
m_cj = norm(mobile)
else
m_cj = cjset(mobile,num)
end if
'rw mobile & "<br>"
'rw m_cj & "<br>"
else
num = 0
m_cj = ""
response.write "<script language=javascript>"
response.write "alert('无用户符合此条件');"
response.write "history.back();"
response.write "</script>"
end if
'rend
rem ===删除指定手机号===
function del_rm(m,m_str)
dim m1,m2,l,i
m1 = replace(m_str,m,"")
m1 = split(m1,",")
l = ubound(m1)
for i=0 to l
if m1(i)<>"" then
if m2 = "" then
m2 = m1(i)
else
m2 = m2 & "," & m1(i)
end if
end if
next
del_rm = m2
end function
rem ===删除重复手机号,取唯一手机值===
function norm(m)
dim m1,m2
m2 = ""
if len(m)>=11 then
m1 = left(m,11)
m2 = m1
m = del_rm(m1,m)
do until len(m)<11
m1 = left(m,11)
m2 = m2 & "," & m1
m = del_rm(m1,m)
loop
end if
norm = m2
end function
|