如何在C++中遍历字符串中的单词:流行方法解析
```html
大家好!我是C++新手,一直搞不懂如何正确地将字符串拆分成单个单词并循环遍历它们。在Python中,这可以通过一行代码用
split()完成,而在C++中却显得很复杂。
我有一个字符串:"Привет, как дела? У меня всё хорошо!"。我需要单独输出每个单词,忽略标点符号和空格。我尝试过使用std::stringstream,但它不会去除逗号和问号——它们会粘在单词上。例如,得到的是"Привет,"而不是"Привет"。
我尝试过自己写一个手动通过std::string::find查找空格的轮子,但代码变得庞大且混乱。而且我的版本无法处理制表符和多个空格。
请告诉我如何正确且优雅地做到这一点?最好使用现代C++(11/14/17)。请给出一个代码示例,要求:
1. 根据空格和标点符号将字符串拆分成单词。
2. 忽略多余的空格和空字符串。
3. 能够正常工作。
```