1 /** 2 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 3 * 4 * 5 * @param s string字符串 6 * @return string字符串 7 */ 8 function replaceSpace( s ) { 9 // write code here 10 let res =''; 11 for(let i = 0;i<s.length;i++){ 12 if(s[i]===' '){ 13 res += '%20'; 14 }else{ 15 res+=s[i]; 16 } 17 } 18 return res; 19 } 20 module.exports = { 21 replaceSpace : replaceSpace 22 };
方法二:正则表达式
1 /** 2 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 3 * 4 * 5 * @param s string字符串 6 * @return string字符串 7 */ 8 function replaceSpace( s ) { 9 // write code here 10 let reg = new RegExp(' ','g'); 11 return s.replace(reg,'%20'); 12 } 13 module.exports = { 14 replaceSpace : replaceSpace 15 };
方法三:split+join
- split:split()方法使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置
- join:join()方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符
1 /** 2 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 3 * 4 * 5 * @param s string字符串 6 * @return string字符串 7 */ 8 function replaceSpace( s ) { 9 // write code here 10 return s.split(' ').join('%20'); 11 } 12 module.exports = { 13 replaceSpace : replaceSpace 14 };
方法四:扩展运算符+map
1 /** 2 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 3 * 4 * 5 * @param s string字符串 6 * @return string字符串 7 */ 8 function replaceSpace( s ) { 9 // write code here 10 let arr = [...s].map(item =>{ 11 return item === ' ' ? '%20' : item; 12 }); 13 return arr.join(''); 14 } 15 module.exports = { 16 replaceSpace : replaceSpace 17 };