Vous pouvez appliquer la fonction isdigit () sur chaque caractère de la chaîne. Ou vous pouvez utiliser des expressions régulières.
J'ai également trouvé Comment trouver un nombre dans une chaîne en Python? avec des moyens très appropriés pour renvoyer des nombres. La solution ci-dessous provient de la réponse à cette question.
number = re.search(r'\d+', yourString).group()
Alternativement:
number = filter(str.isdigit, yourString)
Pour plus d'informations, consultez le docu regex: http://docs.python.org/2/library/re.html
Edit: Cela renvoie les nombres réels, pas une valeur booléenne, donc les réponses ci-dessus sont plus correctes pour votre cas
La première méthode renverra le premier chiffre et les chiffres consécutifs suivants. Ainsi 1.56 sera retourné comme 1. 10.000 sera retourné comme 10. 0207-100-1000 sera retourné comme 0207.
La deuxième méthode ne fonctionne pas.
Pour extraire tous les chiffres, points et virgules, et ne pas perdre de chiffres non consécutifs, utilisez:
re.sub('[^\d.,]' , '', yourString)