正确使用boost :: is_upper

时间:2014-12-22 08:24:45

标签: c++ boost

如何知道字符串是否包含大写字母?

表示字符串token

for (std::string::iterator tokenIter = token.begin(); tokenIter != token.end(); tokenIter++) {
    return boost::all(*tokenIter, boost::is_upper(locale))

}

但似乎很奇怪。有没有任何一种方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

在C ++ 11下

#include <iostream>
#include <algorithm>

#include <boost/algorithm/string/classification.hpp>

using namespace std;

int main()
{
    string str1 = "hello";
    cout << std::boolalpha << std::any_of(str1.begin(), str1.end(), boost::is_upper()) << endl; //false

    string str2 = "Hello";
    cout << std::boolalpha << std::any_of(str2.begin(), str2.end(), boost::is_upper()) << endl; //true

    return 0;
}