Daok назвал весь pro's тестовых проектов VS2008, вот pro's NUnit.
Попробуйте следующее:
var output = Regex.Replace(input, @"[\d-]", string.Empty);
Идентификатор \ d
просто соответствует любому цифровому символу.
var result = Regex.Replace("123- abcd33", @"[0-9\-]", string.Empty);
Вы можете сделать это с помощью LINQ-решения вместо регулярного выражения:
string input = "123- abcd33";
string chars = new String(input.Where(c => c != '-' && (c < '0' || c > '9')).ToArray());
Быстрый тест производительности показывает, что это примерно в пять раз быстрее, чем при использовании регулярного выражения.