webentwicklung-frage-antwort-db.com.de

Wie entferne ich Zahlen mit Regex.Replace aus Zeichenfolge?

Ich muss Regex.Replace verwenden, um alle Zahlen und Zeichen aus einer Zeichenfolge zu entfernen.

Beispieleingabe: 123- abcd33 Beispielausgabe: abcd

Danke im Voraus.

46
Gold

Versuche Folgendes:

var output = Regex.Replace(input, @"[\d-]", string.Empty);

Die \d-Kennung entspricht einfach einem beliebigen Zeichen.

96
Noldorin

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.

13
Guffa
var result = Regex.Replace("123- abcd33", @"[0-9\-]", string.Empty);
5
Darin Dimitrov

Als Stringerweiterung: 

    public static string RemoveIntegers(this string input)
    {
        return Regex.Replace(input, @"[\d-]", string.Empty);
    }

Verwendungszweck:

"My text 1232".RemoveIntegers(); // RETURNS "My text "
0
Sgedda

das beste Design ist:

public static string RemoveIntegers(this string input)
    {
        return Regex.Replace(input, @"[\d-]", string.Empty);
    }
0
Vitaly Yakel