题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
第一种办法使用正则表达式:
public static String replaceSpace(StringBuffer str) {
final String REGEX=" ";
final String REPLACE="%20";
Pattern p=Pattern.compile(REGEX);
Matcher m = p.matcher(str);
String temp;
temp=m.replaceAll(REPLACE);
return temp;
}
*eclispe能够通过,但是牛客上的编译器不能识别Pattern和Matcher;
第二种方法,自己手写一个查询替换:
public static String MyReplaceSpace(StringBuffer str) {
int length = str.length();
final String REPLACE="%20";
for(int i=0;i<length;i++){
if(str.charAt(i)==' ') {
str.deleteCharAt(i);
str.insert(i, REPLACE);
}
}
String string=new String(str);
return string;
}
第三种方法直接使用String类的replaceAll()方法:
public static String replaceSpace(StringBuffer str) {
return str.toString().replaceAll(" " , "%20");
}