我知道在 Java 和其他框架(如 Apache commons lang)中有很多 upper()
方法,它们将字符串转换为全部大写。
有没有提供像isUpper(String s)
和isLower(String s)
这样的方法来检查String中的所有字符是否都是大写的通用库还是小写?
编辑:
关于转换为 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)
是最好的方法。
最佳答案
现在在 StringUtils isAllUpperCase
关于java - 是否有现有的库方法可以检查 Java 中的 String 是全部大写还是小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/677561/