在 C++ 中标记一个字符串?
第一种方法是使用字符串流来读取由空格分隔的单词。这有点有限,但如果您提供适当的检查,则可以很好地完成任务。
例子
#include#include #include using namespace std; int main() { string str("Hello from the dark side"); string tmp; //在每次迭代中存储单词的字符串。 stringstream str_strm(str); vector words; //创建向量来保存我们的话 while (str_strm >> tmp) { //在此处为tmp提供适当的检查,如为空 //还要去掉诸如!、.、?等符号。 //最后推一下。 words.push_back(tmp); } }
示例
另一种方法是使用getline函数提供自定义分隔符来拆分字符串-
#include#include #include using namespace std; int main() { std::stringstream str_strm("Hello from the dark side"); std::string tmp; vector words; char delim = ' '; //Ddefine要拆分的分隔符 while (std::getline(str_strm, tmp, delim)) { //在此处为tmp提供适当的检查,如为空 //还要去掉诸如!、.、?等符号。 //最后推一下。 words.push_back(tmp); } }