码迷,mamicode.com
首页 > 其他好文 > 详细

替换空格

时间:2018-02-28 23:02:01      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:style   else   oid   pre   函数   开始   i++   复制   长度   

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

做法一:Java

    public String replaceSpace(StringBuffer str) {
        if(str == null)
            return null;
        for(int i = 0; i < str.length(); i++)
        {
            if(str.charAt(i) ==  )
            {
                str.replace(i , i+1 , "%20");
            }
        }
        return str.toString();
    }

 

注意:StringBuffer的replace函数参数*(开始位置(包括),结束为止(不包括),替换内容)

charAt函数,toString函数

做法二:C++

    void replaceSpace(char *str,int length) {
      if(str == NULL)
          return;
      int num = 0;
      for(int i = 0; i < length; i++)
      {
          if(str[i] ==  )
              num++;
      }
      int len = length + 2*num;//替换后字符串的长度
    //从后向前替换
while(length >= 0 && len > length )//知道新字符串的长度与原字符串的长度相等 { if(str[length] == ) { str[len--] = 0; str[len--] = 2; str[len--] = %; } else { str[len--] = str[length];//length不能减1,‘\0‘也要复制 } length--; } }

 

替换空格

标签:style   else   oid   pre   函数   开始   i++   复制   长度   

原文地址:https://www.cnblogs.com/Lune-Qiu/p/8485980.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!