我有一些文本(有意義的文本或算術表達式),我想將其拆分為單詞。如果我只有一個定界符,則可以使用: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 關注
- 512 瀏覽
添加回答
舉報
0/150
提交
取消