Muszę użyć Regex.Replace
, aby usunąć wszystkie liczby i znaki z ciągu.Jak usunąć liczby z ciągu za pomocą Regex.Replace?
Przykład Wejście: 123- abcd33
Przykâadowa: abcd
góry dzięki.
Muszę użyć Regex.Replace
, aby usunąć wszystkie liczby i znaki z ciągu.Jak usunąć liczby z ciągu za pomocą Regex.Replace?
Przykład Wejście: 123- abcd33
Przykâadowa: abcd
góry dzięki.
Spróbuj wykonać następujące czynności:
var output = Regex.Replace(input, @"[\d-]", string.Empty);
Identyfikator \d
prostu pasuje dowolny cyfrowy charakter.
dziękuję za pomoc – Gold
var result = Regex.Replace("123- abcd33", @"[0-9\-]", string.Empty);
można zrobić z LINQ podobnego rozwiązania zamiast wyrażenia regularnego:
string input = "123- abcd33";
string chars = new String(input.Where(c => c != '-' && (c < '0' || c > '9')).ToArray());
Szybki test wydajności pokazuje, że jest to około pięć razy szybciej niż za pomocą wyrażenia regularnego.
Pomyślałem, że to będzie na odwrót .... interesujące. – SirDemon
@SirDemon: Tak, LINQ zwykle nie jest najszybszą opcją, ale wyrażenia regularne mają większy początkowy narzut. W przypadku operacji na krótkich łańcuchach ustawienie obiektu RegEx trwa dłużej niż faktyczna praca. – Guffa
@Guffa Czy wiesz, jak to skaluje? Powiedzmy, że na rekordach 50k powinienem wybrać RegEx? –
chcesz również usunąć "-"? To nie są liczby ... – jle