Вытащить из переменной только цифры

Есть переменная 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'
→ Ссылка