zoukankan      html  css  js  c++  java
  • 用字符串的空格替换其他字符

    将字符串中的空格替换成“%20”,例如“I love you”

    替换成“I%20love%20you”

    从前向后插入的话可能会令原数组丢失数据,

    我能想到的是完全申请一个新的数组,把所有的都插入到新数组中

    再拷贝回原数组,这种方法浪费了空间

    实际采用的方法是先得到新字符串的下标,从后向前插入,这样就不会把原来的数组覆盖掉了

    void aa(char* arr,int length)
    {
        if(arr == NULL || length <= 0) return;
        //原来的字符长度
        int oldLength = 0;
        //空格的数量
        int spaceNum = 0;
        int i=0;
        while(arr[i] != '')
        {
            oldLength++;
            if(arr[i] == ' ')
                spaceNum++;
            i++;
        }
    
        if(oldLength+spaceNum*2 > length) return;
        //新的字符长度
        int newEnd = oldLength+spaceNum*2;
        //原来字符长度
        int oldEnd = oldLength;
        while(oldEnd != 0)
        {
            if(arr[oldEnd] != ' ')
                arr[newEnd] = arr[oldEnd];
            else
            {
                arr[newEnd--] = '0';
                arr[newEnd--] = '2';
                arr[newEnd] = '%';
            }
    
            newEnd--;
            oldEnd--;
        }
    
    }
  • 相关阅读:
    解决ajax无法给js全局变量赋值的问题
    jquery对象和dom对象
    js浏览器调试
    elastic search使用
    elastic search远程测试
    elastic search安装与本地测试
    jQuery常用技巧
    Jquery操作cookie
    HTML特殊字符编码对照表
    DpQuery.js
  • 原文地址:https://www.cnblogs.com/TheQi/p/9125903.html
Copyright © 2011-2022 走看看