题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
题目说的不太严谨:
1.能不能允许连续出现多个空格?
2.若有可能连续多个空格,用多个还是单个20%进行替换?
分三种情况解答
1.不会出现连续多个空格:
直接用空格将字符串切割成数组,在用20%进行连接。
function replaceSpace(str)
{
return str.split(' ').join('%20');
}
2.允许出现多个空格,每个空格均用一个20%替换:
用正则表达式找到所有空格依次替换
function replaceSpace(str)
{
return str.replace(/\s/g,'%20');
}
-----2019.1.8----- add
这里使用上面的split方法也是可以的,例如
'a b'.split(' ')
["a", "", "", "b"]
join
a%20%20%20b
-----2019.1.8----- add
3.允许出现多个空格,多个空格用一个20%替换:
用正则表达式找到连续空格进行替换
function replaceSpace(str)
{
return str.replace(/\s+/g,'%20');
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。