Удалить из строк все символы, кроме букв английского алфавита - 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());

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

12   голосов , оценка 4.5 из 5
Похожие ответы