এই বিভাগে দেখব C++-এ স্ট্রিং কিভাবে টোকেনাইজ করা যায়। C-এ ক্যারেক্টার অ্যারের জন্য strtok() ফাংশন ব্যবহার করা হয়। এখানে স্ট্রিং ক্লাস আছে। এখন দেখব কিভাবে একটি ডিলিমিটার ব্যবহার করে স্ট্রিং থেকে অংশ কাটা যায়।
C++ ফিচার ব্যবহার করতে হলে স্ট্রিংকে স্ট্রিং স্ট্রিম-এ কনভার্ট করতে হয়। তারপর getline() ফাংশন ব্যবহার করে কাজটি করা যায়। getline() ফাংশন স্ট্রিং স্ট্রিম, আউটপুটের জন্য অন্য একটি স্ট্রিং, এবং স্ট্রিম স্ক্যানিং রোকানোর জন্য ডিলিমিটার নেয়।
নিচের উদাহরণ থেকে ফাংশনটি কীভাবে কাজ করে বুঝতে পারবেন।
উদাহরণ কোড
#include <iostream>
#include <vector>
#include <sstream>
using namespace std;
int main() {
string my_string = "Hello,World,India,Earth,London";
stringstream ss(my_string); // my_string কে স্ট্রিং স্ট্রিম-এ কনভার্ট
vector<string> tokens;
string temp_str;
while (getline(ss, temp_str, ',')) { // কমা ডিলিমিটার হিসেবে ব্যবহার
tokens.push_back(temp_str);
}
for (int i = 0; i < tokens.size(); i++) {
cout << tokens[i] << endl;
}
}আউটপুট
Hello World India Earth London