在 C++ 中对字符串进行标记化
在本节中,我们将了解如何在 C++ 中对字符串进行标记化。在 C 语言中,我们可以对字符数组使用 strtok() 函数。这里我们有一个 string 类。现在,我们来看看如何使用该字符串中的某个分割符来分割字符串。
要使用 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
广告