JZ2 替换空格[剑指offer]

题目


[简单、字符串、正则表达式]

题解

法(一):1.查找出空格 2.替换 【可能存在多个空格,因此需要循环】

1
2
3
4
5
6
7
8
9
10
11
function replaceSpace( s ) {
let res = '';
for(let i=0; i<s.length; ++i){
if(s[i] === ' '){
res += '%20';
}else{
res += s[i];
}
}
return res;
}

法(二):正则表达式(全局匹配)

1
2
3
function replaceSpace( s ) {
return s.replace(/\s/g,'%20');
}

补充知识

1.正则表达式 - 修饰符(标记)
标记也称为修饰符,正则表达式的标记用于指定额外的匹配策略。
标记不写在正则表达式里,标记位于表达式之外,格式如下:

1
/pattern/flags //(其中,pattern为要匹配的内容,flags为修饰符)

2.新建正则对象:

1
2
let regx = new RegExp(' ','g');
return s.replace(regx,'%20');
文章作者: qinwei
文章链接: https://qw-null.github.io/2021/08/19/替换空格/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 QW's Blog