题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
原来一个空格字符,替换之后变成 ‘%’、‘2’、‘0’ 这3个字符,因此字符串会变长。如果是在原来的字符串上进行替换,就可能覆盖修改在该字符串后面的内存。如果是新创建的字符串并在新的字符串上进行替换,我们可以自己分配足够多的内存。因为有两种不同的解决方案,所以要问清楚,到底需求是哪一种情况。
1 function replaceSpace(str) 2 { 3 return str.replace(/ /g,'%20'); 4 }
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
stringObject.replace(regexp/substr,replacement)
replace() 传送门
方法二:字符串的查询
1 function replaceSpace(str) 2 { 3 let output = ''; 4 for (let i=0,len=str.length; i<len; i++) { 5 if(str[i] == ' ') { 6 output += '%20'; 7 }else{ 8 output += str[i]; 9 } 10 } 11 return output; 12 }