题目:已知一个字符串,去掉字符串中的空格,将每部分的首字母大写后拼接起
测试包括:
先解决前三个,也就是一个普通字符串有一个或者多个单词:
public static String camelCase(String str) {
String target = "";
if(str.contains(" ")){ //包含空格说明是多个单词,可以进行分割
String s[] = str.split(" ");
for(int i = 0;i < s.length;i++){
target +=s[i].substring(0, 1).toUpperCase()+s[i].substring(1);//首字母大写并进行拼接
}
}else{
target = str.substring(0,1).toUpperCase() + str.substring(1);
}
return target;
}
然后解决第四个测试,也就是字符串有空格,这个很简单,java中有一个函数srim()用来去除字符串两端的空格,所以在开头添加:
str = str.srim();即可
第五个测试,字符串中的单词之间可能是一个空格,也可能是多个空格,上边的分割方法就会出错,正则中空格是“\s",字符串中空格至少出现一次,所以这个式子应为"\s+",所以将前边分割的句子改成:
String s[] = str.split("\\s+");即可
第六个测试,空字符串,我直接添加了一个else if语句,这个语句什么也不做
第七个测试,末尾空格,解决方法同上。
完整代码: