QTP / VBScript: Comment faire pour supprimer toutes les URL d'une chaîne?
Question
J'ai une chaîne dans mon projet de test QTP. Dans certains cas, cette chaîne est un texte en clair le contenu de courrier électronique; dans d'autres cas, il est HTML. Dans les deux cas, je dois enlever toutes les URL de la chaîne pour le match contre un cas attendu.
Comment cela peut-il être fait dans QTP / VBScript?
La solution
Cela devrait faire l'affaire, bien que vos URL doivent commencer par http: // ou https: // pour eux à ramasser:
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]+@{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
Le modèle de regex pour les URL correspondant vient de blog de Chris Freyer et semble gérer la plupart des types d'URL que vous êtes susceptible de rencontrer. Il a bien fonctionné sur les tests que j'effectués avec.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow