Memisahkan Rentetan dengan Berbilang Pembatas [Pendua]
Dalam pemprosesan teks, keperluan sering timbul untuk membahagikan rentetan kepada perkataan atau token individu. Walaupun teknik pemisahan rentetan standard cemerlang dalam mengendalikan pembatas tunggal, tugas menjadi lebih mencabar dengan berbilang pembatas.
Masalah:
Memandangkan rentetan dan satu set pembatas, bagaimana bolehkah kita memisahkan rentetan kepada perkataan sambil mempertimbangkan semua pembatas yang ditentukan?
Penyelesaian:
Untuk memisahkan rentetan dengan berkesan menggunakan berbilang pembatas, kami memanfaatkan gabungan aliran rentetan dan operasi subrentetan. Berikut ialah versi ubah suai kod yang disediakan:
std::stringstream stringStream(inputString); std::string line; while(std::getline(stringStream, line)) { std::size_t prev = 0, pos; auto delimiters = " ';"; // Customize delimiter string here while ((pos = line.find_first_of(delimiters, prev)) != std::string::npos) { if (pos > prev) wordVector.push_back(line.substr(prev, pos-prev)); prev = pos+1; } if (prev < line.length()) wordVector.push_back(line.substr(prev, std::string::npos)); }
Penjelasan:
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan dengan Berbilang Pembatas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!