Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
07 Июл 2023
2 мин
6457

Извлечение чисел из строки в Python

Разбираемся, как извлекать числа из строки.

В программировании на Python часто возникает задача извлечения чисел из строки. Например, у вас есть строка: «Привет 12345, как дела 67890?». Вашей задачей является извлечение чисел 12345 и 67890 из этой строки.

Существуют различные подходы к решению этой задачи, но два наиболее распространенных — это использование регулярных выражений и метода isdigit().

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Использование регулярных выражений

Регулярные выражения — это специальный синтаксис для работы с текстом, который позволяет искать и извлекать определенные шаблоны. В Python для работы с регулярными выражениями используется модуль re.

import re

line = "привет 12345, как дела 67890?"
numbers = re.findall(r'\b\d+\b', line)
print(numbers)

В этом коде используется функция findall(), которая возвращает все найденные совпадения. \b\d+\b — это регулярное выражение, которое ищет последовательности цифр.

Использование метода isdigit()

Метод isdigit() является встроенным методом для строк в Python. Он проверяет, состоит ли строка только из цифр.

line = "привет 12345, как дела 67890?"
numbers = ''.join(c if c.isdigit() else ' ' for c in line).split()
print(numbers)

Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.

В этом коде мы проходим по каждому символу в строке и, если символ является цифрой, сохраняем его. Если символ не является цифрой, мы заменяем его на пробел. Затем мы используем метод split(), чтобы разбить строку на список чисел.

Оба подхода эффективны и могут быть использованы в зависимости от конкретной задачи и предпочтений программиста.

Добавить комментарий