C++ 用空格和标点字符拆分字符串

标签 c++ string

我想使用 C++ 拆分包含空格和标点符号的字符串。

例如str = "这是一只狗;一只非常好的狗。"

我想得到“这个”"is"“a”“狗”“A”“非常”“好”“一个”1个1个。

使用 getline 只需一个定界符就很容易,但我不知道所有的定界符。它可以是任何标点字符。

注意:我不想使用 Boost!

最佳答案

使用带有 lambda 的 std::find_if() 来查找定界符。

auto it = std::find_if(str.begin(), str.end(), [] (const char element) -> bool {
                       return std::isspace(element) || std::ispunct(element);})

关于C++ 用空格和标点字符拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9333333/

相关文章:

java - 在java中替换字符串中的数字

java - Java中的CharSequence VS字符串?

c++ - 将参数放入 Qt 中的槽中

string - 在 VC++ 中将字符串转换为 tchar

c++ - (C++) 与结构和函数参数有关的简单问题

c++ - 当其中之一是结构时,C++ 类函数参数语法有什么不同?

string - 如何在 JSTL/EL 中连接和清理字符串?

python - 避免在新的 python 字符串格式中舍入

c++ - "true;"或 "10;"语句在 C++ 中意味着什么?如何使用它?

c++ - 多重继承模板类