Nous essayons de supprimer des tonnes de caractères spéciaux des chaînes d'URL. La plupart contiennent des symboles TM ou Copyright, ainsi que d'autres.
Je voulais écrire une regex pour trouver le début "&" et la fin ";" et retirez la chaîne entière.
J'ai écrit:
var title = "RedHorseBar™"
title = Regex.Replace(title, @"^&.*;$", "");
En espérant avoir "RedHorseBar" .. mais cela ne fonctionne pas.
Comment puis-je écrire regex pour trouver le début "&" et la fin ";"?
Réponses:
2 pour la réponse № 1Utilisez le suivant: &[^;]+;
Donc, pour l'utiliser comme vous le souhaitez:
title = Regex.Replace(title, @"&[^;]+;", "")
1 pour la réponse № 2
Je pensais que vous recherchiez quelque chose comme & nbsp; etc.
La regex devrait alors ressembler à ceci: & w +;
Mais vous semblez chercher la chaîne sans les caractères spéciaux, alors vous devriez:
string result = Regex.Replace(title, @"&w+;", "");
J'espère que cela vous aide dans votre quête.
1 pour la réponse № 3
Essayer
title = Regex.Replace(title, @"&.*;", "")
Vous n'avez pas besoin de spécifier début du match (^) et match de fin ($) caractères, car la chaîne que vous souhaitez remplacer ne commence pas par le début de la chaîne ni par la fin (éventuellement) par la fin de la chaîne.