猿问

如何知道字符串长度是否包含指定数量的大写字母

我想知道一个字符串是否包含 5 到 10 之间的长度,同时 7-10 个字母是大写的。这个想法是检测用户发送的消息是否有 70%-100% 的上限。


这是我迄今为止尝试过的:


bool IsMessageUpper(string input)

{

    if (input.Length.Equals(5 <= 10) && (input.Take(7).All(c => char.IsLetter(c) && char.IsUpper(c))))

    {

         return true;

    }

    else

    {

         return false;

    }

}


繁华开满天机
浏览 182回答 1
1回答

HUX布斯

你可以用这种方式重写你的方法bool IsMessageUpper(string input){&nbsp; &nbsp; int x = input.Length;&nbsp; &nbsp; return x>=7 && x<= 10 && input.Count(char.IsUpper) >= 7;}您还可以添加一些安全检查来处理不需要的输入bool IsMessageUpper(string input){&nbsp; &nbsp; int x = (input ?? "").Length;&nbsp; &nbsp; return x>=7 && x<= 10 && input.Count(char.IsUpper) >= 7;}
随时随地看视频慕课网APP
我要回答