剑指 Offer 05. 替换空格

题目描述:

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例 1:

输入:s = "We are happy."
输出:"We%20are%20happy."

限制:
0 <= s 的长度 <= 10000

题解一: replaceAll

方法一:replaceAll

先来复习下replace:
js中有两种replace,第一种是无痕跳转,location.replace(url)
第二种则是用于字符串:string.replace(参数一,参数二)。意为用参数二替换参数一。

需要注意的是,replace在用的时候智能替换第一个字符:

var s = "We are happy."
var a = s.replace(" ", "%20");
console.log(a)

比如,这里用replace,只替换了第一个出现的空格。
在这里插入图片描述
这就不得不提到replaceAll了:它能够替换所有:

var s = "We are happy."
var a = s.replaceAll(" ", "%20");
console.log(a)

在这里插入图片描述
代码中为什么要单独拿出一个a?因为该方法返回一个新的字符串,该方法并不改变字符串本身。

完整题解:

var s = "We are happy."
var replaceSpace = function(s) {
    var a = s.replaceAll(" ", "%20")
    return a;
};
replaceSpace(s)

题解二:split与join

split() 方法用于把一个字符串分割成字符串数组。

join()方法:

console.log(arr)//原数组
console.log(arr.join())//逗号隔开
console.log(arr.join('-'))//分隔符隔开

剑指 Offer 05. 替换空格_第1张图片
join方法也是一样,返回字符串,但是不修改原数组。

在这个题目中,我们可以把字符串先变成数组,再利用join把在数组间隙添加想要添加的东西。

var s = "We are happy."
var a = s.split().join('%20')
console.log(a)

剑指 Offer 05. 替换空格_第2张图片
力扣题解:

var s = "We are happy."
var replaceSpace = function(s) {
    // var a = s.replaceAll(" ", "%20")
    // return a;
    return s.split(' ').join('%20')
};
replaceSpace(s)

你可能感兴趣的:(前端求职-剑指offer,javascript,前端,开发语言)