J'ai une liste de 400 chaînes qui se terminent tous dans "_GONOGO" ou "_ALLOC". Lorsque l'application démarre, j'ai besoin de supprimer "_GONOGO" ou "_ALLOC" de chacune de ces chaînes. J'ai essayé ceci: 'string blah = Regex.Replace (string, "(_GONOGO | _ALLOC)", ""));'Regex.Replace beaucoup plus lent que l'instruction conditionnelle en utilisant String.Contains
mais il est beaucoup plus lent qu'une simple déclaration conditionnelle comme ceci:
if (string.Contains("_GONOGO"))
// use Substring
else if (string.Contains("_ALLOC"))
// use Substring w/different index
Je suis nouveau à des expressions régulières, donc je suis en espérant que quelqu'un a une meilleure solution ou je fais quelque chose horriblement mal . Ce n'est pas une grosse affaire, mais ce serait bien de transformer cette ligne de 4 lignes en une simple ligne regex.
Est-ce que votre regex fonctionne mieux si vous mettez une ancre '$' à la fin du motif? –
Vous devez utiliser 'EndsWith' au lieu de' Contient'. En plus d'être plus correct, c'est plus rapide. :) –