字符串替换空格-牛客网-剑指offer
1.问题描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
2.问题分析
2.1 实现方式1:逐个字符匹配拼接
2.2 实现方式2:调用字符串自带的字符替换方法
3.源代码
/** * */ package www.nowcoder.com.conquerOffer.string; /** * 替换空格 * 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 * http://www.nowcoder.com/practice/4060ac7e3e404ad1a894ef3e17650423?rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking * @author sunny * */ public class StringReplaceSpace { /** * 替换字符串中的空格 * @param str 字符串 * @return 替换之后的字符串 */ public String replaceSpace(StringBuffer str) { if(null == str || str.length() <= 0) return ""; // 实现方式1:逐个字符匹配拼接 // StringBuffer rtn = new StringBuffer(); // for(int i = 0; i < str.length(); i++){ // if(' ' == str.charAt(i)){ // rtn.append("%20"); // }else{ // rtn.append(str.charAt(i)); // } // } // return rtn.toString(); // 实现方式2:调用字符串自带的字符替换方法 String s = str.toString(); s = s.replace(" ", "%20"); return s; } public static void main(String[] args) { StringBuffer str = new StringBuffer("We Are Happy"); StringReplaceSpace stringReplaceSpace = new StringReplaceSpace(); String replaced = stringReplaceSpace.replaceSpace(str); System.out.println(replaced); } }
4.运行效果
We%20Are%20Happy