Как найти все цифры в строке?
В этой небольшой заметке я хочу показать Вам, как можно легко найти цифры в строке. Данная задача очень часто встречается при парсинге текста, проверке полей ввода и некоторых других задачах. Поэтому было бы не плохо, если бы всегда под рукой было готовое решение.
И так, предположим, что нам дана строка, которая содержит следующий текст: T2$Z562k#Ca8*U50w1%Cc3. Поместим это значение в переменную string value.
Задача:
1. Найти все цифры в строке.
2. Вывести полученный результат в элемент управления listbox.
Пример 1.
В первом примере решим задачу с помощью метода Where, который осуществит фильтрацию последовательности значений с помощью простого лямбда выражения, после чего полученный результат мы преобразуем в список и поместим в элемент управления listBox.
listBox1.DataSource = value.Where(x => x > 47 & x 58).ToList();
Результат
Если Вы не знаете, почему в данном примере используется диапазон чисел от 47 до 58, то советую прочитать статью: Как получить все буквы алфавита, в который Вы найдете подробное объяснение.
Пример 2.
Во втором примере, для того чтобы найти все цифры в строке, мы воспользуемся методом isDigit класса Char, который по переданному в него символу позволяет определить, цифра это или нет.
listBox1.DataSource = value.Where(x => Char.IsDigit(x)).ToList();
Выполняем код и получаем тот же самый результат.
Читайте также: