2009-09-16 6 views
2

C# Besoin de localiser les adresses Web en utilisant REGEX est-ce possible?C# Besoin de trouver des adresses Web en utilisant REGEX est-ce possible?

Fondamentalement, je besoin d'analyser une chaîne avant de le charger dans un navigateur Web

myString = "this is an example string http://www.google.com , and I need to make the link clickable"; 

webBrow.DocumentText = myString; 

Au fond ce que je veux arriver est un remplacement de l'adresse Web afin qu'il ressemble à un lien hypertexte, et le faire avec n'importe quelle adresse tirée dans la chaîne. Je aurais besoin de remplacer l'adresse Web de sorte que l'adresse Web se lirait comme suit

<a href='web address'>web address</a> 

Cela me permettrait d'avoir les liens cliquables .. Des idées?

Répondre

0

C'est possible en fonction de la stricte ou permissive que vous voulez que votre analyse soit.

En tant que première coupe, vous pouvez essayer @"\bhttp://\S+" qui correspond à toute chaîne commençant par "http: //" à une limite de mot (caractère non-mot, tel qu'un espace ou une ponctuation).

Pour effectuer une recherche à l'aide d'une expression régulière et remplacer toutes les occurrences par votre texte personnalisé, vous pouvez utiliser la méthode Regex.Replace.

Vous voudrez peut-être lire sur Regular Expression Language Elements pour en savoir plus.

1
new Regex(@"https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?").Match(myString) 
Questions connexes