Вытащить из переменной только цифры
Есть переменная 1, её значение тест 12.
1 = "test 12"
Нужно присвоить другой переменной значение переменной 1, но, только цифру 12. Как это реализовать?
Ответы (2 шт):
Автор решения: TigerTV.ru
→ Ссылка
Есть такой вариант:
a = "test 12";
res = ''.join(filter(str.isnumeric, a))
print(res)
# 12
Автор решения: Dmitry
→ Ссылка
Вариант с регулярными выражениями.
>>> import re
>>> re.findall("\d+", "test12")
["12"]
Почему-то мало кто любит работать с re, но мне всегда кажется, что это элегантное решение. Естественно, не во всех случаях применимо.
Вариант с isdigit с посимвольным перебором:
>>> t = ''
>>> for i in "test12":
... if i.isdigit(): t+=i
...
>>> t
'12'