0

tablolar如果字符串变量的字符不包含任何字符而是在a-zand之间包含小写字母,我想做我的工作','。你有什么建议?

如果字符串 tablolar 是;

“tablo”->没关系

"tablo,tablobir,tabloiki,tablouc"->没关系

“ta”->没关系

但如果是的话;

“tablo2”-> 不行

“ta546465”-> 不行

“禁忌”-> 不好

“tablo,234,tablobir”-> 不行

"tablo^%&!)=(,tabluc"-> 不行

我尝试的是wrog;

    for(int z=0;z<tablolar.size();z++){
    if ((tablolar[z] == ',') || (tablolar[z] >= 'a' && tablolar[z] <= 'z'))
{//do your work here}}
4

3 回答 3

4

tablolar.find_first_not_of("abcdefghijknmopqrstuvwxyz,")将返回第一个无效字符的位置,或者std::string::npos字符串是否正常。

于 2013-04-25T09:45:47.983 回答
0
bool fitsOurNeeds(const std::string &tablolar) {
    for (int z=0; z < tablolar.size(); z++)
        if (!((tablolar[z] == ',') || (tablolar[z] >= 'a' && tablolar[z] <= 'z')))
            return false;
    return true;
}
于 2013-04-25T09:46:56.213 回答
0

c 函数islower测试小写。所以你可能想要这些方面的东西:

#include <algorithm>
#include <cctype> // for islower

bool fitsOurNeeds(std::string const& tabular)
{
    return std::all_of(tabular.begin(), tabular.end(),
        [](char ch)
    {
        return islower(ch) || ch == ',';
    });
}
于 2013-04-25T14:54:00.480 回答