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

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

示例:

 

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

 

解答一:

思路描述:使用正则表达式"/ /g" || "/\s/g"但是为什么不能用"/\s+/g"

坑一:"/\s/g"和"/\s+/g"的区别

前者是遇到该字符时继续替换下去,而后者是遇到该字符时只替换第一位所以当遇到大量空格时就无法进行全部替换

 

var replaceSpace = function(s) {
s = s.replace(/\s/g, '%20')
return s;
};

 

使用"/ /g"

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

 

解答二:

思路描述:使用split(" ").join("%20")的方法

var replaceSpace = function(s) {
return s.split(" ").join("%20");
};

 

posted @ 2020-08-06 23:46  颜若笑叻  阅读(456)  评论(0)    收藏  举报