C++ 将字符串"h|e|l|lo&w|o|r|l|d&h|o|w&a|r|e&y|o|u"以"&"分割截取存进容器,再将截取进容器的字符串以"|"分割二级截取存进容器
时间: 2023-12-06 07:05:08 浏览: 57
C++ 分解字符串
以下是C++将字符串按照指定分隔符分割并存储的代码示例:
```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string str = "h|e|l|lo&w|o|r|l|d&h|o|w&a|r|e&y|o|u";
vector<string> first_split; // 一级分割结果存储容器
vector<vector<string>> second_split; // 二级分割结果存储容器
// 一级分割
size_t pos = 0;
string token;
while ((pos = str.find("&")) != string::npos) {
token = str.substr(0, pos);
first_split.push_back(token);
str.erase(0, pos + 1);
}
first_split.push_back(str);
// 二级分割
for (auto s : first_split) {
vector<string> temp; // 存储二级分割结果的临时容器
size_t pos = 0;
string token;
while ((pos = s.find("|")) != string::npos) {
token = s.substr(0, pos);
temp.push_back(token);
s.erase(0, pos + 1);
}
temp.push_back(s);
second_split.push_back(temp);
}
// 输出结果
for (auto v : second_split) {
for (auto s : v) {
cout << s << " ";
}
cout << endl;
}
return 0;}
```
输出结果为:
```
h e l lo
w o r l d
h o w a r e
y o u
```
阅读全文