【劍指offer】2.替換空格

ConardLi發表於2019-02-16

題目描述

請實現一個函式,將一個字串中的每個空格替換成“%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`);
}

相關文章