首页 > 试题广场 >

替换空格

[编程题]替换空格
  • 热度指数:152507 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
请实现一个函数,将一个字符串s中的每个空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

数据范围:。保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种。

示例1

输入

"We Are Happy"

输出

"We%20Are%20Happy"
示例2

输入

" "

输出

"%20"
推荐
使用JavaScript实现:
方法一:暴力破解
function replaceSpace( s ) {
    let result = '';
    for(let i = 0;i < s.length;i++) {
        if(s[i] === ' ') {
            result += '%20';
        } else {
            result += s[i];
        }
    }
    return result;
}
方法二:使用字符串的replace方法,将正则对象作为参数传入replace方法
function replaceSpace( s ) {
    let regx = new RegExp(' ','g');
    return s.replace(regx,'%20');
}
方法三:将字符串以空格作为分隔符使用split()转成数组,然后对数组使用join()方法
function replaceSpace( s ) {
    return s.split(' ').join('%20');
}
方法四:将字符串使用扩展运算符转成数组,然后使用数组的map方法
function replaceSpace( s ) {
    let arr = [...s].map(item => {
        return item === ' ' ? '%20' : item;
    });
    return arr.join('');
}
编辑于 2021-07-06 10:36:50 回复(4)
function replaceSpace( s ) {
    // write code here
    return s.replace(/\ /g,'%20');
}
发表于 2022-03-22 14:09:35 回复(0)
用js:
function replaceSpace( s ) {
    return s.replace(/ /g,'%20');
}


发表于 2021-09-09 18:46:44 回复(0)
我想知道:
return s.replace(/\s/g,'%20');
s.replace(/\s/g, '%20');
return s;
有什么区别,前面能过后面的不能过
发表于 2021-07-18 08:53:46 回复(0)
return s.replace(/ /g, '%20');
return s.splict(' ').join('%20');

发表于 2021-07-01 17:01:52 回复(0)
function replaceSpace( s ) {
    return escape(s)
}
module.exports = {
    replaceSpace
};
发表于 2021-06-08 14:57:58 回复(0)
function replaceSpace( s ) {
    let arr = s.split('');
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] == ' ') {
            arr[i] = '%20';
        } else {
            arr[i] = s[i];
        }
    }
    return arr.join('');
}
    JS转成数组判断。
发表于 2021-04-27 10:14:08 回复(0)
function replaceSpace( s ) {
    return s.replace(/\s/g,'%20');;
}
正则化 

发表于 2021-04-16 16:21:28 回复(0)