我想知道如何在C ++中的子字符串中找到空或空格。例如:
string str = "( )"; // or str = "()"
在这里,我想确保括号之间总有一些东西。函数isspace()只需要一个字符,所以我必须在循环中搜索。有没有更好的方法来做到这一点?谢谢你的帮助。
答案 0 :(得分:0)
您可以使用std::string::find()
查找(
和)
字符,然后使用std::string::find_first_not_of()
检查这些索引之间的任何非空白字符。
string str = "( )"; // or str = "()"
string::size_type idx1 = str.find("(");
if (idx1 != string::npos) {
++idx1;
string::size_type idx2 = str.find(")", idx1);
if (idx2 != string::npos) {
string tmp = str.substr(idx, idx2-idx1);
string::size_type idx3 = tmp.find_first_not_of(" \t\r\n");
if (idx3 != string::npos) {
...
}
}
}