我正在尝试将String的首字母转换为大写,其余的应该很小。我尝试下面的代码。转换首字母大写效果很好,但将剩余字母转换为小写字母。
String str = "hiGh";
// capitalize first letter
String output = str.substring(0, 1).toUpperCase() + str.substring(1)
输出应为:High
答案 0 :(得分:1)
您可以操纵String
的字符以确保只有第一个是大写,
String capitalizeFirstOf(String s){
char[] chars = s.toCharArray();
for (int i=0; i<s.length(); i++){
if (i==0){
chars[i] = Character.toUpperCase(chars[i]);
}else{
chars[i] = Character.toLowerCase(chars[i]);
}
}
return new String(chars);
}
答案 1 :(得分:1)
您需要将后面的子字符串更改为小写。 使用以下代码:
String name = "hiGH";
name = name.substring(0,1).toUpperCase() + name.substring(1).toLowerCase();
答案 2 :(得分:-1)
如果您做了很多字符串转换,我将建议使用类似以下的库: apache commons 3
他们有UpperCase/LowerCase/SwapCase/Capitalize/Uncapitalize
等
因此您不必花时间在简单的字符串方法上。