是否有现有的库方法来检查 Java 中的字符串是否全部为大写或小写?
我知道在Java和其他框架(如Apache commons lang)中有很多方法,它们将String转换为全部大写。upper()
是否有任何常用库提供类似 和 的方法,以检查字符串中的所有字符是否为大写或小写?isUpper(String s)
isLower(String s)
编辑:
关于转换为Upper并与此进行比较的许多好答案。我想我应该更具体一点,并说我已经想到了这一点,但我希望能够使用现有的方法来做到这一点。
关于可能将其包含在apache.commons.lang.StringUtils中的好评论。有人甚至提交了补丁(20090310)。希望我们很快就会看到这一点。https://issues.apache.org/jira/browse/LANG-471
编辑:
我需要这种方法的是将有时全大写的酒店名称大写。我只想将它们大写,如果它们都是小写或大写的。我确实遇到了一些帖子中提到的非字母字符的问题,并最终做了这样的事情:
private static boolean isAllUpper(String s) {
for(char c : s.toCharArray()) {
if(Character.isLetter(c) && Character.isLowerCase(c)) {
return false;
}
}
return true;
}
这个讨论和不同的解决方案(有不同的问题),清楚地表明在commons.lang中需要一个好的固体isAllUpper(String s)方法。
在那之前,我想这是最好的方法。myString.toUpperCase().equals(myString)