替换空格
请实现一个函数,将字符串中的每空格替换成"%20",例如当字符串为 We Are Happy,经过替换后的字符串为We%20Are%20Happy
/*替换空格*/
//请实现一个函数,将字符串中的每空格替换成"%20",例如当字符串为 We Are Happy,经过替换后的字符串为We%20Are%20Happy
public class solution {
/*方法定义为静态方便调用 String类型为返回值方便输出 方法实现什么功能就叫什么名字 方法小驼峰命名法 */
/*传入的参数该设置为什么类型 基于后面方法实现考虑 我们要将字符串一个一个取出来 放在一个新的字符串
* StringBuffer很合适 他有把字符串一个一个取出来的方法*/
public static String replaceSpace1(StringBuffer str)
{
//先拿到字符串的长度,方便for循环做遍历
int length = str.length();
//创建一个新的StringBuffeer 存储新的字符串返回去
StringBuffer result=new StringBuffer();
for(int i=0;i<length;i++){
//先把每一个字符串隔离出来 这里就体现用StringBuffer的好处
char c = str.charAt(i);
//c本来是char类型 需要转换 转换为String 才可以判断
if(String.valueOf(c).equals(" ")){
//注意 加入到新StringBuffer 这个空格只是用来判断的 不会加进新的数组
//如果是个空格就把%20加进去 那么原来存放空格的地方就变成了%20
result.append("%20");
}else {
//如果是正常字符 那么就加进去就行了
result.append(c);
}
}
//方法需要一个返回值 就把他返回去 因为返回值是一个String类型 就需要转换
return result.toString();
}
public static void main(String[] args) {
//调用方法replaceSpace1()
StringBuffer str=new StringBuffer("We Are Happy");
String s = replaceSpace1(str);
System.out.println(s);
//调用方法2
String s1 = replaceSpace2(str);
System.out.println(s1);
}
//这里是方法2
public static String replaceSpace2(StringBuffer str){
// 转换为Sting类型 调用String类的方法 传入正则表达式表示被替换的字符 和要替换的字符串
return str.toString().replaceAll("\\s","%20");
}
}