我有一个函数来标记一个向量字符串,并返回没有分隔符的地方。但是,我想用分隔符返回。Tokenize返回一个包含分隔符的向量 - C++
希望的输出: tokenize("<ab><>cd<", "<>")
- 应显示: “<”, “AB”, “>”, “<”, “>”, “CD”, “<”
这里是我的功能:
vector<string> tokenize1(const string& s, const string& delim) {
vector<string> tokens;
string::size_type lastPos = s.find_first_not_of(delim, 0);
string::size_type pos = s.find_first_of(delim, lastPos);
while (string::npos != pos || string::npos != lastPos) {
tokens.push_back(s.substr(lastPos, pos - lastPos));
lastPos = s.find_first_not_of(delim, pos);
pos = s.find_first_of(delim, lastPos);
}
return tokens;
}
根据定义,标记化函数会丢弃分隔符。你想要做的是别的。目的是什么? – ZDF