Удалить из строк все символы, кроме букв английского алфавита - C#
Формулировка задачи:
Как сделать это проще?
Желательно без foreach, for или while. static void Main(string[] args)
{
Foo("Hello33", "Wo!rld");
}
static void Foo(string s1, string s2)
{
var a = string.Join("", Regex.Matches(s1, "[a-z]", RegexOptions.IgnoreCase)
.Cast<object>().Select(s=>s.ToString()));
var b = string.Join("", Regex.Matches(s2, "[a-z]", RegexOptions.IgnoreCase)
.Cast<object>().Select(s => s.ToString()));
}Не нравится этот момент:
.Cast<object>().Select(s=>s.ToString()
Можно было без
.Select(s=>s.ToString()
static void Main(string[] args)
{
Foo("Hello33", "Wo!rld");
}
static void Foo(string s1, string s2)
{
var a = string.Join("", Regex.Matches(s1, "[a-z]", RegexOptions.IgnoreCase)
.Cast<object>()));
var b = string.Join("", Regex.Matches(s2, "[a-z]", RegexOptions.IgnoreCase)
.Cast<object>()));
}Решение задачи: «Удалить из строк все символы, кроме букв английского алфавита»
textual
Листинг программы
string after = new string(s.Where(e => char.IsLetter(e) && char.ToUpper(e) >= 65 && char.ToUpper(e) <= 90).ToArray());