7

如何知道字符串至少包含 2 个大写字母?例如,这些是有效的字符串“Lazy Cat”、“NOt very lazy cat”。使用 Java 1.7。

4

5 回答 5

10

尝试使用以下正则表达式:

"^(.*?[A-Z]){2,}.*$"

或者

"^(.*?[A-Z]){2,}"
于 2013-09-10T08:48:24.050 回答
8

这个正则表达式有效。

string.matches(".*[A-Z].*[A-Z].*")
于 2013-09-10T08:46:48.417 回答
1

我现在将向您展示一个完整的解决方案,我将指导您。

如果您不想使用正则表达式,您可以简单地循环字符串,按字符聊天并检查它是否为大写:

for (int i=0;i<myStr.length();i++)
{
     //as @sanbhat suggested, use Character#isUpperCase on each character..
}
于 2013-09-10T08:48:16.183 回答
1

你现在有很多正则表达式的答案,

不想用就**regex**去吧

String someString = "abcDS";
int upperCount = 0;
for (char c : someString.toCharArray()) {
    if (Character.isUpperCase(c)) {
        upperFound++;
    }
}
// upperFound  here weather >2 or not
于 2013-09-10T08:55:29.043 回答
0

试试这个:

string.matches("[A-Z]+.*[A-Z]+");
于 2013-09-10T08:46:29.597 回答