Ich muss Regex.Replace
verwenden, um alle Zahlen und Zeichen aus einer Zeichenfolge zu entfernen.
Beispieleingabe: 123- abcd33
Beispielausgabe: abcd
Danke im Voraus.
Versuche Folgendes:
var output = Regex.Replace(input, @"[\d-]", string.Empty);
Die \d
-Kennung entspricht einfach einem beliebigen Zeichen.
Sie können dies mit einer LINQ-ähnlichen Lösung anstelle eines regulären Ausdrucks tun:
string input = "123- abcd33";
string chars = new String(input.Where(c => c != '-' && (c < '0' || c > '9')).ToArray());
Ein schneller Leistungstest zeigt, dass dies etwa fünfmal schneller ist als bei Verwendung eines regulären Ausdrucks.
var result = Regex.Replace("123- abcd33", @"[0-9\-]", string.Empty);
Als Stringerweiterung:
public static string RemoveIntegers(this string input)
{
return Regex.Replace(input, @"[\d-]", string.Empty);
}
Verwendungszweck:
"My text 1232".RemoveIntegers(); // RETURNS "My text "
das beste Design ist:
public static string RemoveIntegers(this string input)
{
return Regex.Replace(input, @"[\d-]", string.Empty);
}