来哦~~~~~~~~聪明的进来,字符串算法问题。不多,几行而已。全部剩余分数给了。
有这样一个字符串:str="吉普车@轿车@坦克@"。这是一个例子,str是不定长的。他可能只有"吉普车@"这样一个内容,也可能是很长的。但是每个内容最后都有一个@来识别和其他内容的关系。
我现在要做的操作是删除其中任何一个内容,比如删除"吉普车@"这个内容。
我写的部分代码是这样,后面不会写了:
f_str="吉普车@轿车@坦克@"
str=split(f_str,"@")
for i=0 to UBound(str)
str(request.QueryString("i"))=""
next
‘这里的request.QueryString("i") 的意思是接受传过来的i变量,i变量指明说了要删除f_str="吉普车@轿车@坦克@"中的第几个内容。比如i=0,那么就是删除吉普车@,注意要连@一起删除。可是split只能删除吉普车这三个字而已,@分隔符删不掉。问题很明了了,我的意思是要连@一起删除。
注意咯~~因为有可能出现多个一样的内容,比如"汽车@汽车@吉普车@",所以不能用replace来替换掉,这样会把别的也删除。所以最好的办法是接受i变量来指定要删除的内容序号。
请大家在机子上试验一下,有什么好算法?每次删除一个内容就好。删除以后还要还原成"某某东西@"格式的字符串。@是每个内容的结尾符,没有内容那么就是"",字符串是空的。
这个问题很常用。可是我一下子想不出来好办法。
麻烦大家啦,用用脑~~~~~~~~那么热的天,真不好意思。
会不会我说得不够明了?
我说一下运算结果:比如:f_str=“汽车@吉普车@汽车@”
if i=0 then
f_str=“吉普车@汽车@”
end if
'最后的"汽车@"保留着。第一个"汽车@"被删除,包括@号。split删除不了。'有几个是变动或固定的着的:1、要删除的内容的长度都是可知的,比如吉普车,我知道长度是6。2、整个f_str的长度也是可知的。