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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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