Ответ 1
Попробуйте следующее:
var output = Regex.Replace(input, @"[\d-]", string.Empty);
Идентификатор \d
просто соответствует любому символу цифры.
Мне нужно использовать Regex.Replace
, чтобы удалить все цифры и знаки из строки.
Пример ввода: 123- abcd33
Пример вывода: abcd
Попробуйте следующее:
var output = Regex.Replace(input, @"[\d-]", string.Empty);
Идентификатор \d
просто соответствует любому символу цифры.
Вы можете сделать это с помощью LINQ-решения вместо обычного выражения:
string input = "123- abcd33";
string chars = new String(input.Where(c => c != '-' && (c < '0' || c > '9')).ToArray());
Быстрый тест производительности показывает, что это примерно в пять раз быстрее, чем при использовании регулярного выражения.
var result = Regex.Replace("123- abcd33", @"[0-9\-]", string.Empty);
Как расширение строки:
public static string RemoveIntegers(this string input)
{
return Regex.Replace(input, @"[\d-]", string.Empty);
}
Использование:
"My text 1232".RemoveIntegers(); // RETURNS "My text "
лучший дизайн:
public static string RemoveIntegers(this string input)
{
return Regex.Replace(input, @"[\d-]", string.Empty);
}
Ударные коды могут помочь вам...
Получить номера:
return string.Concat(input.Where(char.IsNumber));
Получить письма:
return string.Concat(input.Where(char.IsLetter));