Вы можете применить функцию isdigit () к каждому символу в строке. Или вы можете использовать регулярные выражения.
Также я нашел Как найти одно число в строке в Python? с очень подходящими способами вернуть числа. Решение ниже от ответа на этот вопрос.
number = re.search(r'\d+', yourString).group()
В качестве альтернативы:
number = filter(str.isdigit, yourString)
Для получения дополнительной информации ознакомьтесь с документом regex: http://docs.python.org/2/library/re.html.
Изменить: Возвращает действительные числа, а не логическое значение, поэтому приведенные выше ответы более верны для вашего случая.
Первый метод возвращает первую цифру и последующие последовательные цифры. Таким образом, 1.56 будет возвращено как 1. 10000 будет возвращено как 10. 0207-100-1000 будет возвращено как 0207.
Второй метод не работает.
Чтобы извлечь все цифры, точки и запятые и не потерять непоследовательные цифры, используйте:
re.sub('[^\d.,]' , '', yourString)