在 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP