我想使用 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/