/ / Regex trouve des chaînes de début et de fin avec des caractères spéciaux - c #, regex, caractères spéciaux

Regex trouve des chaînes de début et de fin avec des caractères spéciaux - c #, regex, caractères spéciaux

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 № 1

Utilisez 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.