题目描述:
请实现一个函数,将一个字符串中的空格替换成“%20”。例如:当字符串为We Are Happy,则经过替换之后的字符串为We%20Are%20Happy。
思路:看到此题,首先想到的是String类型的方法:replaceAll(String regex,String replacement),java API 中的解释为:使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式(regex)的每个子字符串。
代码如下:
import java.util.*;
public class Main8
{
public static void main(String[] args)
{
String str = " my name is A";
String outStr = str.replaceAll("\\s", "%20");
System.out.println(outStr);
}
}
可能会觉得这也太简单了吧,或许这时面试官会问:如果不用这个函数你会怎么办,那么下面就要使用String类中的toCharArray()函数进行字符串的拆分,然后对char数组进行相应的操作即可。
代码如下:
import java.util.*;
public class Main8
{
public static void main(String[] args)
{
String str = " my name is A";
str = replaceBlank(str);
System.out.println(str);
}
public static String replaceBlank(String str)
{
char[] a = str.toCharArray();
String outStr = "";
for(int i=0;i<a.length;i++)
{
String tempStr = String.valueOf(a[i]);
if(tempStr.equals(" "))
{
outStr = outStr+"%20";
}
else
{
outStr = outStr+a[i];
}
}
return outStr;
}
}
上面的代码可能会有问题,如发现还望提出指正,如有更好方法请不吝赐教。
本人经验,仅供参考!