按关键字分割字符串
1. 按关键字分割成vector<string>
实现
#include <iostream>
#include <vector>
#include <string>
using namespace std;
vector<string> split(const string &src, const string &ch)
{
vector<string> str(1);
string map(256, '\0');
for (const unsigned char &it : ch) {
map[it] = 1;
}
for (const unsigned char &it : src) {
if(!map.at(it)){
str.back().push_back(char(it));
} else {
str.push_back(string());
}
}
while(str.size() && str.back().empty()) {
str.pop_back();
}
return str;
}
int main()
{
string str = "a\nb\nc\nd";
vector<string> strList = split(str, "\n");
for (auto &it : strList) {
cout << it << endl;
}
return 0;
}