समस्या विवरण
रेगेक्स का उपयोग करके स्ट्रिंग से अधिकतम संख्यात्मक मान निकालने का सबसे आसान तरीका है:
- स्ट्रिंग से सभी नंबर निकालने के लिए रेगेक्स मॉड्यूल का उपयोग करें
- इन नंबरों में से अधिकतम ढूंढें
उदाहरण के लिए, इनपुट स्ट्रिंग के लिए:
इस शहर में 121005 लोग हैं, पड़ोसी शहर में 1587469 और दूर के शहर में 18775994।
हमें आउटपुट मिलना चाहिए:
18775994
हम स्ट्रिंग में सभी नंबर खोजने के लिए "\d+" रेगेक्स का उपयोग कर सकते हैं क्योंकि \d एक अंक को दर्शाता है और प्लस साइन लगातार अंकों की सबसे लंबी स्ट्रिंग ढूंढता है। हम इसे re पैकेज का उपयोग करके निम्नानुसार लागू कर सकते हैं:
उदाहरण कोड
import re
# स्ट्रिंग से सभी संख्यात्मक मान निकालें
occ = re.findall("\d+", "There are 121005 people in this city, 1587469 in the neighbouring city and 18775994 in a far off city.")
# संख्यात्मक मानों को स्ट्रिंग से int में बदलें
num_list = map(int, occ)
# अधिकतम ढूंढें और प्रिंट करें
print(max(num_list))
आउटपुट
18775994