如何知道该字符串包含至少2个大写字母?例如,这些是有效的字符串" Lazy Cat"," NOt非常懒惰的猫"。使用Java 1.7。
答案 0 :(得分:8)
这个正则表达式有效。
string.matches(".*[A-Z].*[A-Z].*")
答案 1 :(得分:8)
尝试使用以下正则表达式:
"^(.*?[A-Z]){2,}.*$"
或
"^(.*?[A-Z]){2,}"
答案 2 :(得分:1)
我现在将向您展示一个完整的解决方案,我会指导您。
如果你不想使用正则表达式,你可以简单地循环字符串,通过char聊天并检查它是否是大写:
for (int i=0;i<myStr.length();i++)
{
//as @sanbhat suggested, use Character#isUpperCase on each character..
}
答案 3 :(得分:1)
你现在有somany正则表达式的答案,
如果您不想使用**regex**
,
String someString = "abcDS";
int upperCount = 0;
for (char c : someString.toCharArray()) {
if (Character.isUpperCase(c)) {
upperFound++;
}
}
// upperFound here weather >2 or not
答案 4 :(得分:0)
试试这个:
string.matches("[A-Z]+.*[A-Z]+");