将字符串拆分为单个单词并将它们放置在向量中
Splitting a string up into individual words and placing them in a vector
我希望能够将任何大小的字符串的每个单词放入向量中。这是我到目前为止所拥有的:
vector <string> broken;
while(choice != " "){
int space = choice.find(" ")-1;
string word = choice.substr(0,space);
broken.push_back(word);
choice = choice.substr(space+1);``
cout << choice;
}
任何帮助将不胜感激!
最简单的方法是使用字符串流,您可以在字符串流中插入多字字符串,然后在字符串流中插入一个 while 循环,然后您将在循环的每次迭代中分离每个单词。
stringstream ss;
ss << choice;
vector <string> broken;
string word;
while(ss >> word){
broken.push_back(word);
}
一种可能性是使用istringstream
:
istringstream iss(choice);
vector<string> broken{istream_iterator<string>{iss},
istream_iterator<string>{}};
您需要#include <sstream>
并#include <iterator>
。
相关文章:
- C++将向量的向量拆分为向量的N个子向量
- 使用 C++ 将命令行参数拆分为参数/向量
- 将 std::大小为 m 的向量拆分为大小为 n 的向量
- 拆分字符数组并存储为向量
- 如何根据另一个向量中给出的索引拆分向量?
- 我在将字符串拆分为向量时遇到困难
- 将向量整数拆分为这些数字的整数
- 将字符串拆分为单个单词并将它们放置在向量中
- 在C 中拆分对象的向量
- 如何通过分隔符拆分字符串并将每个字符串放入不同的向量中
- 将向量拆分为多个数组/向量C++
- 使用向量和字符*拆分实现
- C 将字符串按空白空间将字符串拆分,除非将其封闭在引号中并存储在向量中
- 如何拆分 QString 并将一部分字符串保存在浮点数的向量中
- 将向量拆分为块 - 这是正确的吗?
- 拆分具有多个分隔符的字符串并将其保存到向量中
- 如何将向量拆分为子集
- 将向量拆分为向量
- 拆分需要在向量中写入哪些组件的字符串
- 使用向量按分隔符拆分字符串 - 如何按换行符拆分