এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যেটি প্রদত্ত স্ট্রিং-এ স্বতন্ত্র বছর খুঁজে পায়। আসুন কিছু উদাহরণ দেখি। আমরা ধরে নিচ্ছি তারিখ বিন্যাস হল DD/MM/YYYY .
ইনপুট − 01/11/2020, 02/12/2020, এবং 03/10/2019 তারিখ সহ নমুনা উদাহরণ৷
আউটপুট − 2
প্রদত্ত পাঠ্য 2020 এবং 2019-এ আমাদের দুটি স্বতন্ত্র বছর রয়েছে।
আমরা প্রদত্ত স্ট্রিং থেকে সমস্ত তারিখ বের করতে regex ব্যবহার করতে যাচ্ছি। আপনি যদি C++ এ regex এর সাথে পরিচিত না হন তবে এই টিউটোরিয়ালটি দেখুন।
আসুন সমস্যার সমাধানে ঝাঁপিয়ে পড়ি।
-
পাঠ্যটি শুরু করুন৷
৷ -
টেক্সট থেকে তারিখ বের করতে regex লিখুন।
-
একটি খালি বিন্যাসহীন সেট শুরু করুন৷
৷ -
অনন্য বছরগুলি খুঁজে পেতে তারিখের উপর পুনরাবৃত্তি করুন এবং ক্রমবিহীন সেটে বছর যোগ করুন।
-
সেটের দৈর্ঘ্য প্রিন্ট করুন।
উদাহরণ
আসুন কোডটি দেখি।
#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
আমরা ভিন্ন ফরম্যাটে তারিখ পেতে পারি। আপনি যদি বিভিন্ন ফরম্যাটে তারিখ পান, তাহলে সঠিকভাবে রেজেক্স আপডেট করুন।
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।