Краткий и краткий оператор LINQ для удаления всех символов в строке, которые соответствуют критерию? - PullRequest
1 голос
/ 10 июня 2011

Как мне сделать что-то вроде:

string x;
string y = x.RemoveWhere(c => !char.IsLetter(c));

с использованием LINQ?

Ответы [ 2 ]

5 голосов
/ 10 июня 2011

С LINQ:

string y = new string(x.Where(char.IsLetter).ToArray());

с регулярным выражением:

string y = Regex.Replace(x, "[^a-zA-Z]", string.Empty);
0 голосов
/ 10 июня 2011

Обязательно string.Replace (c.ToString (), ""); сделал бы это?

если вам по какой-то причине нужно использовать LINQ (не знаю почему, если это не домашний вопрос), то что-то вроде

строка y = новая строка (x.Where (c => char.IsLetter (c)) .ToArray ());

Сделал бы это, хотя есть множество способов .......

...