在Java中转换为大写和小写

我想将string的第一个字符转换为大写字母,其余的字符转换为小写字母。 我该怎么做?

例:

String inputval="ABCb" OR "a123BC_DET" or "aBcd" String outputval="Abcb" or "A123bc_det" or "Abcd" 

试试这个大小:

 String properCase (String inputVal) { // Empty strings should be returned as-is. if (inputVal.length() == 0) return ""; // Strings with only one character uppercased. if (inputVal.length() == 1) return inputVal.toUpperCase(); // Otherwise uppercase first letter, lowercase the rest. return inputVal.substring(0,1).toUpperCase() + inputVal.substring(1).toLowerCase(); } 

它基本上首先处理空string和一个string的特殊情况,否则正确地处理一个两加字符的string。 而且,正如在评论中指出的那样,function不需要单字符特殊情况,但是我仍然更愿意明确表示,特别是如果它导致更less的无用调用,例如获取空string的子string,它,然后附加它。

来自apache commons-lang的 WordUtils.capitalizeFully(str)具有所需的确切语义。

 String a = "ABCD" 

使用这个

 a.toLowerCase(); 

所有的字母将转换为简单的“abcd”
使用这个

 a.toUpperCase() 

所有的信件将转换为资本, “ABCD”

这首字母转换成大写:

 a.substring(0,1).toUpperCase() 

这个收敛其他字母简单

 a.substring(1).toLowerCase(); 

我们可以得到这两个的总和

 a.substring(0,1).toUpperCase() + a.substring(1).toLowerCase(); 

结果= “Abcd”

 String inputval="ABCb"; String result = inputval.substring(0,1).toUpperCase() + inputval.substring(1).toLowerCase(); 

将“ABCb”改为“Abcb”

我认为这比以前正确的答案更简单。 我也会扔javadoc。 🙂

 /** * Converts the given string to title case, where the first * letter is capitalized and the rest of the string is in * lower case. * * @param sa string with unknown capitalization * @return a title-case version of the string */ public static String toTitleCase(String s) { if (s.isEmpty()) { return s; } return s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase(); } 

长度为1的string不需要作为特例处理,因为当s长度为1时, s.substring(1)返回空string。

 /* This code is just for convert a single uppercase character to lowercase character & vice versa.................*/ /* This code is made without java library function, and also uses run time input...*/ import java.util.Scanner; class CaseConvert { char c; void input(){ //@SuppressWarnings("resource") //only eclipse users.. Scanner in =new Scanner(System.in); //for Run time input System.out.print("\n Enter Any Character :"); c=in.next().charAt(0); // input a single character } void convert(){ if(c>=65 && c<=90){ c=(char) (c+32); System.out.print("Converted to Lowercase :"+c); } else if(c>=97&&c<=122){ c=(char) (c-32); System.out.print("Converted to Uppercase :"+c); } else System.out.println("invalid Character Entered :" +c); } public static void main(String[] args) { // TODO Auto-generated method stub CaseConvert obj=new CaseConvert(); obj.input(); obj.convert(); } } /*OUTPUT..Enter Any Character :A Converted to Lowercase :a Enter Any Character :a Converted to Uppercase :A Enter Any Character :+invalid Character Entered :+*/