इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो दिए गए स्ट्रिंग में अलग-अलग साल ढूंढता है। आइए कुछ उदाहरण देखें। हम मान रहे हैं कि दिनांक प्रारूप DD/MM/YYYY . है ।
इनपुट - दिनांक 01/11/2020, 02/12/2020 और 03/10/2019 के साथ नमूना उदाहरण।
आउटपुट -2
दिए गए टेक्स्ट 2020 और 2019 में हमारे पास दो अलग-अलग साल हैं।
हम दिए गए स्ट्रिंग से सभी तिथियों को निकालने के लिए रेगेक्स का उपयोग करने जा रहे हैं। यदि आप C++ में रेगेक्स से परिचित नहीं हैं, तो इस ट्यूटोरियल को देखें।
आइए समस्या को हल करने के लिए कूदें।
-
टेक्स्ट को इनिशियलाइज़ करें।
-
टेक्स्ट से दिनांक निकालने के लिए रेगेक्स लिखें।
-
एक खाली अनियंत्रित सेट को इनिशियलाइज़ करें।
-
अद्वितीय वर्ष खोजने के लिए दिनांकों में पुनरावृति करें और अनियंत्रित सेट में वर्ष जोड़ें।
-
सेट की लंबाई प्रिंट करें।
उदाहरण
आइए कोड देखें।
#include <iostream> #include <bits/stdc++.h> #include <regex> using namespace std; int uniqueYearsCount(string text) { // regex regex date_regex("[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}"); smatch matching_date; // set to store unique dates unordered_set<string> dates; // finding all dates while (regex_search(text, matching_date, date_regex)) { string date = matching_date[0]; dates.insert(date.substr(date.size() - 4)); text = matching_date.suffix(); } return dates.size(); } int main() { string text = "Sample example with dates 01/11/2020, 02/12/2020, and 03/10/2019."; cout << uniqueYearsCount(text) << endl; return 0; }
आउटपुट
यदि उपरोक्त कोड को चलाया जाता है, तो आपको निम्न परिणाम प्राप्त होंगे।
2
हम विभिन्न प्रारूपों में तिथियां प्राप्त कर सकते हैं। यदि आपको विभिन्न प्रारूपों में तिथियां मिलती हैं, तो रेगेक्स को उचित रूप से अपडेट करें।
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।