js 实现ReplaceAll(包含加号、减号的处理)

   原生js中没有replaceAll方法,只有replace。如果要将字符串替换,一般使用replace,但是replace只会替换找到的第一个原字符。这里结合自己的使用介绍一下JS实现replaceAll方法。

方法一、正则表达式替换(“-”“+”)

//替换所有减号 
var str = '2017-10-23';
//g表示执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
var result = str.replace(/-/g,'');
console.log(result);

结果:20171023
//替换所有加号
var str = '2017+10+23';
//这里+号需要用[+]表示
var result = str.replace(/[+]/g,'');
console.log(result);

结果:20171023
//替换所有加号
var str = '2017+10+23';
//这里+号需要用[+]表示,m表示执行多行匹配。
var result = str.replace(new RegExp("[+]","gm"),"Excel")
console.log(result);

结果:20171023

方法二、字符串分解替换

var str = '2017-10-23';
var result = str.split('-').join('');
console.log(result);

结果:20171023
var str = '2017+10+23';
var result = str.split('+').join('');
console.log(result);

结果:20171023

方法三、添加 Stirng对象replaceAll 原型

String.prototype.replaceAll = function(s1,s2){ 
return this.replace(new RegExp(s1,"gm"),s2); 
}

你可能感兴趣的:(javascript,Java)