为了账号安全,请及时绑定邮箱和手机立即绑定

用多个定界符将字符串分割成单词

用多个定界符将字符串分割成单词

C++
料青山看我应如是 2019-11-28 15:03:04
我有一些文本(有意义的文本或算术表达式),我想将其拆分为单词。如果我只有一个定界符,则可以使用: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));

}


查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 485 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信