কম্পিউটার টিউটোরিয়াল

C++-এ স্ট্রিং টোকেনাইজ (Tokenize) করা

স্ট্রিংকে শব্দ/টোকেনে ভাগ করার দুটি সাধারণ পদ্ধতি।

পদ্ধতি ১: stringstream (স্পেস ডিলিমিটার)

#include <vector>
#include <string>
#include <sstream>
using namespace std;

int main() {
    string str("Hello from the dark side");
    string tmp;
    stringstream str_strm(str);
    vector<string> words;
    while(str_strm >> tmp) {
        // tmp-র চেক (empty, punctuation strip ইত্যাদি)
        words.push_back(tmp);
    }
    // words = {"Hello", "from", "the", "dark", "side"}
}

পদ্ধতি ২: getline কাস্টম ডিলিমিটার দিয়ে

#include <vector>
#include <string>
#include <sstream>
using namespace std;

int main() {
    stringstream str_strm("Hello,from,the,dark,side");
    string tmp;
    vector<string> words;
    char delim = ','; // কাস্টম ডিলিমিটার
    while(getline(str_strm, tmp, delim)) {
        words.push_back(tmp);
    }
    // words = {"Hello", "from", "the", "dark", "side"}
}

সীমাবদ্ধতা: `stringstream` মাল্টি-ক্যারেক্টার ডিলিমিটার সাপোর্ট করে না। জটিল পার্সিংয়ের জন্য std::regex, Boost.Tokenizer, বা র‍্যাঞ্জ-ভিত্তিক লাইব্রেরি (C++20 views::split) ব্যবহার করুন।

  1. C++-এ getline (string) ফাংশন

  2. IP অ্যাড্রেস ভ্যালিডেট করা (C++)

  3. C++-এ String at() মেথড ব্যবহার

  4. C++-এ স্ট্রিং টোকেনাইজেশন: স্ট্রিম এবং getline() ব্যবহার