在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 :+*/