我有一些文本(有意义的文本或算术表达式),我想将其拆分为单词。如果我只有一个定界符,则可以使用:std::stringstream stringStream(inputString);std::string word;while(std::getline(stringStream, word, delimiter)) { wordVector.push_back(word);}如何使用几个定界符将字符串分成令牌?
3 回答
森栏
TA贡献1810条经验 获得超5个赞
假设其中一个定界符是换行符,则以下内容将读取该行,并用定界符进一步对其进行拆分。在此示例中,我选择了定界符空间,撇号和分号。
std::stringstream stringStream(inputString);
std::string line;
while(std::getline(stringStream, line))
{
std::size_t prev = 0, pos;
while ((pos = line.find_first_of(" ';", prev)) != std::string::npos)
{
if (pos > prev)
wordVector.push_back(line.substr(prev, pos-prev));
prev = pos+1;
}
if (prev < line.length())
wordVector.push_back(line.substr(prev, std::string::npos));
}
- 3 回答
- 0 关注
- 485 浏览
添加回答
举报
0/150
提交
取消