【剑指offer】2.替换空格

12次阅读

共计 436 个字符,预计需要花费 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′);
}
3. 允许出现多个空格,多个空格用一个 20% 替换:用正则表达式找到连续空格进行替换
function replaceSpace(str)
{
return str.replace(/\s+/g,’%20’);
}

正文完
 0