2009-04-21 78 views
1

我在我的QTP测试项目中有一个字符串。在某些情况下,这个字符串是明文电子邮件的内容;在其他情况下,它是HTML。在这两种情况下,我需要从字符串中去除所有网址以匹配Expected案例。QTP/VBScript:如何从字符串中删除所有URL?

这怎么能在QTP/VBScript中完成?

+3

这里已经提出了几个问题,这些问题与匹配URL和正则表达式有关。我建议你做一个谷歌搜索“正则表达式网址:stackoverflow.com”来获得一些想法。 – Tomalak 2009-04-21 12:56:24

回答

1

这应该做的伎俩,虽然你的网址需要以http://或https://为他们被拾起:

Dim text 
text = "<your text with URLs here>" 

Dim rgx 
Set rgx = New RegExp 
rgx.IgnoreCase = True 
rgx.Global = True 
rgx.Pattern = "([A-Za-z]{3,9})://([-;:&=\+\$,\w][email protected]{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((/[-\+~%/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?" 

Dim match, matches 
Set matches = rgx.Execute(text) 
For Each match in matches 
    MsgBox match.Value, 0, "Found Match" 
Next 

的正则表达式匹配的URL来自Chris Freyer's blog并似乎处理你可能遇到的大多数类型的URL。它在我用它进行的测试中效果很好。

相关问题