এই বিভাগে, আমরা দেখব কিভাবে 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); //convert my_string into string stream
vector<string> tokens;
string temp_str;
while(getline(ss, temp_str, ',')){ //use comma as delim for cutting string
tokens.push_back(temp_str);
}
for(int i = 0; i < tokens.size(); i++) {
cout << tokens[i] << endl;
}
} আউটপুট
Hello World India Earth London