zoukankan      html  css  js  c++  java
  • 替换空格

    1、题目

    请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

    2、charAt方式

    (1)将取出的每一个字符转换为字符串,运用字符串的equals方法对字符进行判断是否为空格

    public class Solution {
        public String replaceSpace(StringBuffer str){
            StringBuffer stringbuffer=new StringBuffer("");
            for(int i=0;i<str.length();i++){
                char c=str.charAt(i);
                if(String.valueOf(c).equals(" ")){
                    stringbuffer.append("%20");
                }else{
                    stringbuffer.append(str.charAt(i));
                }
            }
            return stringbuffer.toString();
        }
        public static void main(String [] args){
            Solution solution=new Solution();
            StringBuffer stringbuffer=new StringBuffer("We Are Happy.");
            solution.replaceSpace(stringbuffer);
        }
    }

     (2)将取出的每一个字符直接与ASCII表空格的十进制进行比较判断

    public class Solution {
        public String replaceSpace(StringBuffer str){
            StringBuffer stringbuffer=new StringBuffer("");
            for(int i=0;i<str.length();i++){
                if(str.charAt(i)==32){
                    stringbuffer.append("%20");
                }else{
                    stringbuffer.append(str.charAt(i));
                }
            }
            return stringbuffer.toString();
        }
        public static void main(String [] args){
            Solution solution=new Solution();
            StringBuffer stringbuffer=new StringBuffer("We Are Happy.");
            solution.replaceSpace(stringbuffer);
        }
    }

     使用此方法虽然能够提高算法的效率,但是要对ASCII码表掌握的比较熟练

    3、replaceAll方法

    public class Solution {
        public String replaceSpace(StringBuffer str){
            return str.toString().replaceAll(" ","%20");
        }
        public static void main(String [] args){
            Solution solution=new Solution();
            StringBuffer stringbuffer=new StringBuffer("We Are Happy.");
            solution.replaceSpace(stringbuffer);
        }
    }

     直接调用java的方法替换掉所有的空格,虽然能够通过测试,但是没有用到算法思想,不建议使用

    每个人都会有一段异常艰难的时光 。 生活的压力 , 工作的失意 , 学业的压力。 爱的惶惶不可终日。 挺过来的 ,人生就会豁然开朗。 挺不过来的 ,时间也会教你 ,怎么与它们握手言和 ,所以不必害怕的。 ——杨绛
  • 相关阅读:
    BZOJ3615 : MSS
    BZOJ3468 : 滑雪
    BZOJ3515 : EvenPaths
    BZOJ3161 : 孤舟蓑笠翁
    BZOJ2652 : 三角板
    BZOJ2646 : neerc2011 flight
    BZOJ3567 : AABB
    HDU5823 : color II
    BZOJ1946 : [Ceoi2006]ANTENNA
    BZOJ4644 : 经典傻逼题
  • 原文地址:https://www.cnblogs.com/zhai1997/p/13562793.html
Copyright © 2011-2022 走看看