Чтобы отделить числа от строки в Python, вы можете использовать различные методы. Вот несколько подходов:
-
Использование регулярных выражений.
Вы можете использовать модульre
в Python для извлечения чисел из строки с помощью регулярных выражений. Вот пример:import re text = "Hello 123 World 456" numbers = re.findall(r'\d+', text) print(numbers) # Output: ['123', '456']
-
Использование метода isdigit():
Вы можете перебирать каждый символ в строке и проверять, является ли это цифрой, с помощью методаisdigit()
. Если да, то вы можете накопить его для формирования чисел. Вот пример:text = "Hello 123 World 456" numbers = ''.join([c for c in text if c.isdigit()]) print(numbers) # Output: 123456
-
Использование методов 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']
-
Использование комбинации методов 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']