关于asp截取包含某个字符的一段字符

gueiqi 2008-11-28 12:05:37
例如本站地址:http://www.aaa.com

aaa = "http://www.aaa.com/gfdgf/|http://www.bbb.com/|/about/|aaa|#"

bbb = Split(aaa,"|")

如何最后获得 http://www.bbb.com/ 值

...全文
103 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
使用正则!
回复
gueiqi 2008-11-28
我是要过滤,假如有N个,符合规定的没有固定的

也许是 bbb(1) 也许是 bbb(2)
回复
littlelam 2008-11-28
bbb(1)
回复
dgboby 2008-11-28
补一下

call searchqi(str,".+?[^\=]|(http:.+?com)+")
回复
gueiqi 2008-11-28
这样就可以过滤掉本地的地址,是不是我的法太笨拙了

能够有效的过滤这样的地址 /dfg.asp?url=http://dfgf.com
回复
dgboby 2008-11-28

function searchqi(st,sd)
dim sheng_url,sheng_time,sheng_title
Set objRegExp1 = New Regexp
objRegExp1.IgnoreCase = True
objRegExp1.Global = True
objRegExp1.Pattern = sd
set mm=objRegExp1.Execute(st)
For i= 0 to mm.count -1
sheng_url=objRegExp1.Replace(mm.item(i),"$1")
'保存数据
'输出数据
response.write sheng_url&"<br>"
'输出结果
'http://www.aaa.com
'http://www.ccc.com

Next
set objRegExp1=nothing

end function


dim str
str="aaa =""/Open.html?u=http://www.bbb.com|http://www.aaa.com/gfdgf/|http://www.ccc.com/|/about/|aaa|#"""
call searchqi(str,".+?[^\=](http:.+?com)+")

回复
gueiqi 2008-11-28
我换了种方法,先识别http://

然后在根据6楼大哥给的方法用

call searchqi(str,"<a.+?href=""(.+?)""[^\>]*>.+?</a>")

是不是多此一举了
回复
gueiqi 2008-11-28
象这样的还是无法过滤

/Open.html?u=http://www.bbb.com
回复
dgboby 2008-11-28


'还有就是www.aaa.com为自己的地址,也想过滤掉 吗?就

call searchqi(str,"(.+?|http:.+?com)+")

'去掉重复的话,就先保存全部数据到数据,取出删除.


回复
gueiqi 2008-11-28
还有种可能,过滤后的地址,比如有很多重复的
回复
gueiqi 2008-11-28
[Quote=引用 6 楼 dgboby 的回复:]
VBScript code

function searchqi(st,sd)
dim sheng_url,sheng_time,sheng_title
Set objRegExp1 = New Regexp
objRegExp1.IgnoreCase = True
objRegExp1.Global = True
objRegExp1.Pattern = sd
set mm=objRegExp1.Execute(st)
For i= 0 to mm.count -1
sheng_url=objRegExp1.Replace(mm.item(i),"$1")
'保存数据
'输出数据
res…
[/Quote]

这为大哥的方法不错,但如果

aaa = "http://www.aaa.com/a.asp|http://www.bbb.com/|http://www.bbb.net/|/about/|http://www.aaa.com/gfdgf/"

call searchqi(str,"(http:.+?com)+")

这个就得不到http://www.bbb.net了
还有就是www.aaa.com为自己的地址,也想过滤掉
回复
dgboby 2008-11-28


function searchqi(st,sd)
dim sheng_url,sheng_time,sheng_title
Set objRegExp1 = New Regexp
objRegExp1.IgnoreCase = True
objRegExp1.Global = True
objRegExp1.Pattern = sd
set mm=objRegExp1.Execute(st)
For i= 0 to mm.count -1
sheng_url=objRegExp1.Replace(mm.item(i),"$1")
'保存数据
'输出数据
response.write sheng_url&"<br>"
'输出结果
'http://www.aaa.com
'http://www.bbb.com

Next
set objRegExp1=nothing

end function


dim str
str="aaa =""http://www.aaa.com/gfdgf/|http://www.bbb.com/|/about/|aaa|#"""
call searchqi(str,"(http:.+?com)+")

回复
0041123 2008-11-28
aaa = "http://www.aaa.com/gfdgf/|http://www.bbb.com/|/about/|aaa|#"

bbb = Split(aaa,"|")

For i = LBound(bbb) To UBound(bbb)

if bbb(i)="http://www.bbb.com/" then
Response.Write("返回值数组中的元素[" & i & "]:" & bbb(i) & "<br>")
end if
Next


"http://www.bbb.com/" 想要获得的内容可以自己设置
回复
gueiqi 2008-11-28
楼上的哥哥能不能给出详细写法
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-11-28 12:05
社区公告
暂无公告