主题:删除字符串中“[”和“]”这间所有的字符时出现的问题
lunawzh
[专家分:20] 发布于 2008-01-17 18:26:00
比如下面定义s变量,想要删除其中带[....]的所有字符包括[],我写了下面代码,运行后结果却总是这样:“s: 02:00.00]词曲:谢军”。也就是前几个还能删除,到后面就不行了,请高手看看到底问题出在那???
<%
s="[ti:做你的爱人] [ar:饶天亮] [al:做你的爱人] [by:E-Lyric] [offset:1500] [00:02.00][02:00.00]词曲:谢军 "
do while(true)
a=instr(s,"[")
b=instr(s,"]")
if a>0 and b>0 and b>a then
c=mid(s,a,b)
s=replace(s,c,"")
else
exit do
end if
loop
response.write "s:"&s&"<br>"
%>
回复列表 (共5个回复)
沙发
wangsdong [专家分:21390] 发布于 2008-01-17 23:34:00
c=mid(s,a,b)
换成
c=mid(s,a+1,b)
试试
板凳
lunawzh [专家分:20] 发布于 2008-01-18 07:48:00
谢谢1楼的朋友,改成c=mid(s,a+1,b)肯定不行,我还试过b+1,也不行
多年的编程竟然对这个问题束手无策.
3 楼
lunawzh [专家分:20] 发布于 2008-01-18 12:31:00
我等了一天了,给别人解决了不少问题,自己的问题怎么没人来解决,这个很难吗????
其实我就是从数据库提取出的字符串,数据库中放的是lrc歌词,都带[]标记,我现在想只要歌词,把[]标记内容全删了,可是想不出别的办法 ,我的办法就是删到最后就由几处删不了,
这个问题在这解决 不了只好到别处去问了.
4 楼
lunawzh [专家分:20] 发布于 2008-01-19 17:00:00
走了,带着问题走了,高手们都过年去了,我也得准备过年.
5 楼
lunawzh [专家分:20] 发布于 2008-01-19 23:01:00
到别处一问就得到了答案,特意回来 说明:
dim s
s="[ti:做你的爱人] [ar:饶天亮] [al:做你的爱人] [by:E-Lyric] [offset:1500] [00:02.00][02:00.00]词曲:谢军 "
s = ReplaceStr(s,"(\[.+?\])","")
Function ReplaceStr(Str,Pattern,tostr)
If IsNull(Str) Then
ReplaceStr = Str
Exit Function
End IF
ReplaceStr = False
'Str = Trim(Str)
Dim RegEx
Set RegEx = New RegExp
RegEx.Pattern = Pattern
RegEx.IgnoreCase = True
regEx.Global = True
ReplaceStr = regEx.Replace(Str, tostr)
End Function
alert "s:"&s&"<br>"
一切OK了,希望我的问题对网友们有用
我来回复