我是 Java 的初学者,我正在尝试编写代码,通过该.contains()方法查看字符串中是否有大写字母。有没有一种有效的方式来表达类似的东西string.contains((all capital letters));?
2 回答
HUH函数
TA贡献1836条经验 获得超4个赞
这是来自Pattern的javadoc:
\p{javaLowerCase} Equivalent to java.lang.Character.isLowerCase()
\p{javaUpperCase} Equivalent to java.lang.Character.isUpperCase()
下面是一个例子:
class Test {
public static void main(String[] args) {
System.out.println(args[0].matches(".*\\p{javaUpperCase}.*"));
}
}
这是它的工作原理:
$ javac Test.java
$ java Test "hello world"
false
$ java Test "capital F"
true
与[A-Z]变体不同,这适用于所有语言的所有大写字母:
$ java Test 'Σ' # Greek
true
$ java Test 'Å' # Norwegian
true
$ java Test 'Я' # Russian
true
繁星淼淼
TA贡献1775条经验 获得超11个赞
String.contains
不接受正则表达式。它需要一个子字符串,它是纯字符串或另一个CharSequence
。
如果要检查字符串是否包含大写字母,可以使用正则表达式,如下例所示:
boolean containsUppercase = text.matches("^.*[A-Z].*$")
true
如果在文本中的任何地方找到大写字母,那将返回。
添加回答
举报
0/150
提交
取消