यदि आप केवल पॉजिटिव इंटीजर्स चाहते हैं, तो आप विभाजित करके और नंबरों की खोज करके निम्न प्रकार से कर सकते हैं:
>>> str = "h3110 23 cat 444.4 rabbit 11 2 dog" >>> [int(s) for s in str.split() if s.isdigit()] [23, 11, 2]
अन्य सभी मामलों के लिए, नियमित अभिव्यक्ति का उपयोग करना सबसे अच्छा विकल्प होगा। साथ ही जब मान निकाल रहे हों, तो उन्हें स्ट्रिंग से इंट में बदलना सबसे अच्छा होगा। उदाहरण के लिए:
>>> import re >>> [float(s) for s in re.findall(r'-?\d+\.?\d*', 'he33.45llo -42 I\'m a 32 string 30')] [33.45, -42.0, 32.0, 30.0]