字符串替换空格-牛客网-剑指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 

原文地址:https://www.cnblogs.com/sunny08/p/4893443.html