【剑指offer】2.替代空格

问题形貌

请完成一个函数,将一个字符串中的每一个空格替代成“%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');
}
    原文作者:ConardLi
    原文地址: https://segmentfault.com/a/1190000017800535
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞