在 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

更新于: 2019-07-30

6 千次浏览

开启你的 职业生涯

完成课程并获得认证

开始
广告