Je dois utiliser Regex.Replace
pour supprimer tous les nombres et les signes d'une chaîne.
Exemple d'entrée: 123- abcd33
Exemple de sortie: abcd
Merci d'avance.
Essayez ce qui suit:
var output = Regex.Replace(input, @"[\d-]", string.Empty);
L'identifiant \d
correspond simplement à n'importe quel caractère numérique.
Vous pouvez le faire avec une solution semblable à LINQ au lieu d’une expression régulière:
string input = "123- abcd33";
string chars = new String(input.Where(c => c != '-' && (c < '0' || c > '9')).ToArray());
Un test de performance rapide montre que cela est environ cinq fois plus rapide qu'avec une expression régulière.
var result = Regex.Replace("123- abcd33", @"[0-9\-]", string.Empty);
En tant qu'extension de chaîne:
public static string RemoveIntegers(this string input)
{
return Regex.Replace(input, @"[\d-]", string.Empty);
}
Usage:
"My text 1232".RemoveIntegers(); // RETURNS "My text "
le meilleur design est:
public static string RemoveIntegers(this string input)
{
return Regex.Replace(input, @"[\d-]", string.Empty);
}