2009-04-21 28 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。它在我用它進行的測試中效果很好。

相關問題