替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy
思路:
-
使用String自带的方法:
**replace()或者replaceAll()**方法,由于replaceAll()会使用正则,会影响性能,数据量非常大时会和replace产生数量级的差别,建议使用replace()方法
- 迭代StringBuffer str,使用replace将里面的空格替换成"%20"即可。感觉和第一种方法使用同一种方法,mdzz。
/**
* @author danny
* @create 2019-05-26 19:10
* <p>
* 请实现一个函数,将一个字符串中的每个空格替换成“%20”。
* 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
*/
public class demo2 {
public static void main(String[] args) {
StringBuffer str = new StringBuffer();
str.append(" ");
str.append(" ");
System.out.println(replaceSpace(str));
}
public static String replaceSpace(StringBuffer str) {
// //java自带方法
// return str.toString().replaceAll(" ", "%20");
if (str == null)
return null;
//别写成
// int len = str.length();
// for (int i = 0; i < len; i++)
//因为这样str的长度就不会变化了,只能使用固定长度,下面不使用i++就会报错
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == ' ') {
str.replace(i, i + 1, "%20");
i = i + 1;
}
}
return str.toString();
}
}