来哦~~~~~~~~聪明的进来,字符串算法问题。不多,几行而已。全部剩余分数给了。

cowboy_blues 2005-06-11 09:32:25
有这样一个字符串: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的长度也是可知的。
...全文
45 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
asd119cn 2005-06-11
  • 打赏
  • 举报
回复
i=request.querystring("i") '传递要删除的参数
str=split(str,"@") ‘拆分成为数组
str(i-1)="nothing" ’将指定项替换成为不会出现的字符.
nstr=join(str,"@") '重新形成字符串
nstr=replace(nstr,"nothing@","") '现在可以替换了吧。
coolwindkaka 2005-06-11
  • 打赏
  • 举报
回复
Temp就是你要的值了,还有我很笨,我也不知道,可能是错的
coolwindkaka 2005-06-11
  • 打赏
  • 举报
回复
N=Request("N") '你接受的参数
Str=Split(Str,"@")
For I=0 To Ubound(Str)
If I<>N Then
Temp=Temp+Str(I)+"@"
End If
Next

28,391

社区成员

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

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