首页 > 试题广场 >

替换空格

[编程题]替换空格
  • 热度指数: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)
一行搞定不好吗……
class Solution:
    def replaceSpace(self , s ):
        # write code here
        return "%20".join(s.split(" "))


发表于 2022-06-14 18:36:39 回复(0)
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#

# @param s string字符串 
# @return string字符串
#
class Solution:
    def replaceSpace(self , s ):
        # write code here
        res=''
        for c in s:  #遍历字符串,用一个新空串来接收字符,
            res+=c 
            if res[-1]==' ':
                res=res[:-1]+'%20' #然后对接收后的最后一个字符判断是否为空,如果是,则替换成'%20'      
             return res    
                
发表于 2022-04-11 00:31:34 回复(0)
class Solution:
    def replaceSpace(self , s ):
        return s.replace(' ', '%20')

# Python yyds
发表于 2021-06-05 01:59:56 回复(0)
''.join(list)将list转换为str
发表于 2021-05-13 20:29:42 回复(0)
class Solution:
    def replaceSpace(self , s ):
        # write code here
        return s.replace(' ','%20')


替换并返回
发表于 2021-03-04 10:06:57 回复(0)
python一行代码即可:
return s.replace(" ", "%20")
发表于 2021-03-02 11:21:10 回复(6)