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