Dizedeki her karaktere isdigit () işlevini uygulayabilirsiniz. Veya düzenli ifadeler kullanabilirsiniz.
Ayrıca Python bir dize bir sayı nasıl bulurum bulundu ? sayıları döndürmek için çok uygun yollarla. Aşağıdaki çözüm bu sorunun cevabından kaynaklanmaktadır.
number = re.search(r'\d+', yourString).group()
Alternatif:
number = filter(str.isdigit, yourString)
Daha fazla bilgi için regex belgesine bakınız: http://docs.python.org/2/library/re.html
Düzenleme: Bu, boole değerini değil gerçek sayıları döndürür, böylece yukarıdaki yanıtlar sizin durumunuz için daha doğru olur
İlk yöntem, ilk basamağı ve sonraki ardışık basamakları döndürür. Böylece 1.56, 1 olarak iade edilecektir. 10.000, 10 olarak döndürülecektir. 0207-100-1000, 0207 olarak iade edilecektir.
İkinci yöntem çalışmıyor.
Tüm basamakları, noktaları ve virgülleri ayıklamak ve ardışık olmayan basamakları kaybetmemek için şunu kullanın:
re.sub('[^\d.,]' , '', yourString)