问题形貌
请完成一个函数,将一个字符串中的每一个空格替代成“%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');
}