Удаление определенных специальных символов из строки - PullRequest
1 голос
/ 14 сентября 2011

Я хотел бы удалить пробелы (''), точки ('.') И дефисы (-) из строки, используя регулярное выражение.

Мой текущий подход:

string input = "hello     how --r dsbadb...dasjidhdsa.dasbhdgsa--dasb";          
var res = input
     .ToCharArray()
     .Where(i => i != ' ' && i != '-' && i != '.')
     .Aggregate(" ", (a, b) => a + b);

Ответы [ 3 ]

7 голосов
/ 14 сентября 2011
string filteredInput = Regex.Replace(input, "[ .-]+", "");

должно быть легче и более читабельно.

1 голос
/ 14 сентября 2011
var result = string.Concat(input.Where(c => !new[] { '.', ' ', '-' }.Contains(c)));
0 голосов
/ 27 декабря 2012
string result = Regex.Replace(input, "[\s\.-]+", "");

\s будет нацелен на пробел, \. будет нацелен на точки, а - нацелен на дефисы и заменит их пустой строкой

...