【问题标题】:Java - Convert all words in a string but one to camelcaseJava - 将字符串中的所有单词转换为驼峰式
【发布时间】:2014-05-07 13:16:50
【问题描述】:
我想将字符串转换为驼峰式,但避免在该字符串中出现单词。
public class camelTest
{
public static void main(String []args)
{
String test = "St. KiTTs aND Nevis";
System.out.println(toCamelCase(test));
}
public static String toCamelCase(String test1)
{
String[] split = test1.split(" ");
String ret = "";
for (int i=0;i<split.length;i++)
{
ret=ret+split[i].substring(0,1).toUpperCase()+split[i].substring(1).toLowerCase()+" ";
}
return ret.trim();}
}
上面的代码有以下输出:
圣基茨和尼维斯
我希望它改为:
圣基茨和尼维斯
【问题讨论】:
标签:
java
string
camelcasing
【解决方案1】:
for (int i=0;i<split.length;i++){
if(split[i].equalsIgnoreCase("and")){
ret = ret + split[i].toLowerCase() + " ";
} else {
ret=ret+split[i].substring(0,1).toUpperCase()+split[i].substring(1).toLowerCase()+" ";
}
}
【解决方案2】:
public static String toCamelCase(String test1)
{
String[] split = test1.split(" ");
String ret = "";
for (int i=0;i<split.length;i++)
{
if (split[i].equalsIgnoreCase("and")) {
ret=ret+split[i].toLowerCase()+" ";
continue;
}
ret=ret+split[i].substring(0,1).toUpperCase()+split[i].substring(1).toLowerCase()+" ";
}
return ret.trim();
}
【解决方案3】:
如果您以前知道不需要以大写字母开头的单词,那么您可以在开始首字母大写之前检查这些单词。
String someString = "and";
if(split[i].equalsignorecase(someString))
其中somString 可以是您不想将其首字母大写的任何字符串。