题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
/**
*思路一:遍历字符串,对每个字符进行匹配
*/
public class Solution {
public String replaceSpace(StringBuffer str) {
int len = str.length();
for(int i=0;i<len;i++){
char index = str.charAt(i);
if(index ==' '){
str.replace(i,i+1,"%20");
}
}
return str.toString();
}
}
/**
*思路二:利用java中String.replaceAll()直接替换所有空格
*/
public String replaceSpace(StringBuffer str){
return str.toString().replaceAll(" ", "20%");
}
包含测试用例的代码如下:
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
StringBuffer s = inputStr();
String s1 = replaceSpace(s);
System.out.println(s1);
}
public static StringBuffer inputStr(){
Scanner sc = new Scanner(System.in);
StringBuffer s = new StringBuffer(sc.nextLine());
return s;
}
public static String replaceSpace(StringBuffer str){
return str.toString().replaceAll(" ", "20%");
}
}
结果:
总结:本题属于对字符串考察,使用java语言的如果对String的API有更深的理解会占很大优势。