• 2、替换空格------------>剑指offer系列


    题目

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

    代码

    1.直接用空格将字符串切割成数组,再用20%进行连接。

    function replaceSpace(str)
    {
        return str.split(' ').join('%20');
    }

    2.用正则表达式找到所有空格依次替换

    function replaceSpace(str)
    {
        return str.replace(/s/g,'%20');
    }
    或者
    function replaceSpace(str)
    {
        return str.replace(/[' ']/g,'%20')
    }

    拓展

    允许出现多个空格,多个空格用一个20%替换:

    用正则表达式找到连续空格进行替换

    function replaceSpace(str)
    {
        return str.replace(/s+/g,'%20');
    }

     C++

     

    void ReplaceBlank(char str[], int length)
    {
        if(str == nullptr && length <= 0)
            return;
    
        /*originalLength字符串实际长度*/
        int originalLength = 0;
        int numberOfBlank = 0;
        int i = 0;
        while(str[i] != '')
        {
            ++ originalLength;
    
            if(str[i] == ' ')
                ++ numberOfBlank;
    
            ++ i;
        }
    
        /*newLength 把空格替换成20%之后的长度*/
        int newLength = originalLength + numberOfBlank * 2;
        if(newLength > length)
            return;
    
        int indexOfOriginal = originalLength;
        int indexOfNew = newLength;
        while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal)
        {
            if(str[indexOfOriginal] == ' ')
            {
                str[indexOfNew --] = '0';
                str[indexOfNew --] = '2';
                str[indexOfNew --] = '%';
            }
            else
            {
                str[indexOfNew --] = str[indexOfOriginal];
            }
    
            -- indexOfOriginal;
        }
    }
  • 相关阅读:
    F. 蚂蚁装修
    D. 蚂蚁平面
    B. 蚂蚁觅食(二)
    A 蚂蚁觅食
    落谷 P1734 最大约数和
    F
    D
    Http头 Range、Content-Range(http断点续传原理)
    Http头 Range、Content-Range
    XCODE 4.5 IOS多语言设置 及NSLocalizedString和NSLocalizedStringFromTable的用法。
  • 原文地址:https://www.cnblogs.com/QianDingwei/p/10890486.html
Copyright © 2020-2023  润新知