2、替换空格

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/PZHU_CG_CSDN/article/details/81938312

题目描述

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

思路:
  重新开辟一个新的字符数组,将旧数组的值以此拷贝过来,如果拷贝过程中遇到空格字符,就进行转换,最后将新数组赋值给旧数组。

代码:

void replaceSpace(char *str,int length) {
    char temp[100];
    int cnt = 0;
    for(int i = 0;i < length;i++) {
        //转换空格字符
        if(str[i] == ' '){
            temp[cnt++] = '%';
            temp[cnt++] = '2';
            temp[cnt++] = '0';
        }else{
            temp[cnt++] = str[i];
        }
    }
    for(int i = 0;i < cnt;i++){
        str[i] = temp[i];
    }
    //字符数组末尾标识
    str[cnt] = '\0';
}

注意:最后一定要将 ‘\0’ 赋值给字符数组的一位,不然找不到结束的位置。

相比之下,Java 代码就很简单了:


 public String replaceSpace(StringBuffer str) {
        String str2 = str.toString();
        return str2.replaceAll(" ","%20");
  }

猜你喜欢

转载自blog.csdn.net/PZHU_CG_CSDN/article/details/81938312