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

Чтобы отделить числа от строки в Python, вы можете использовать различные методы. Вот несколько подходов:

  1. Использование регулярных выражений.
    Вы можете использовать модуль reв Python для извлечения чисел из строки с помощью регулярных выражений. Вот пример:

    import re
    text = "Hello 123 World 456"
    numbers = re.findall(r'\d+', text)
    print(numbers)  # Output: ['123', '456']
  2. Использование метода isdigit():
    Вы можете перебирать каждый символ в строке и проверять, является ли это цифрой, с помощью метода isdigit(). Если да, то вы можете накопить его для формирования чисел. Вот пример:

    text = "Hello 123 World 456"
    numbers = ''.join([c for c in text if c.isdigit()])
    print(numbers)  # Output: 123456
  3. Использование методов Split() и isnumeric():
    Вы можете разделить строку на слова с помощью метода split(), а затем проверить, является ли каждое слово числовым, с помощью <метод code>isnumeric(). Если это так, вы можете считать это числом. Вот пример:

    text = "Hello 123 World 456"
    numbers = [word for word in text.split() if word.isnumeric()]
    print(numbers)  # Output: ['123', '456']
  4. Использование комбинации методов isdigit() и isalpha():
    Вы можете перебирать каждый символ в строке и проверять, является ли это цифрой, используя метод isdigit(), а если нет, вы можете проверить, является ли это алфавитом, используя метод isalpha(). Различая цифры и буквы, вы можете извлечь числа из строки. Вот пример:

    text = "Hello 123 World 456"
    numbers = []
    current_number = ""
    for char in text:
       if char.isdigit():
           current_number += char
       elif current_number:
           numbers.append(current_number)
           current_number = ""
    if current_number:
       numbers.append(current_number)
    print(numbers)  # Output: ['123', '456']