根據一條線:
s = "Test abc test test abc test test test abc test test abc";
这似乎只是在上面的行中删除ABC的第一次出现:
s = s.replace('abc', '');
如何替代所有事件?
根據一條線:
s = "Test abc test test abc test test test abc test test abc";
这似乎只是在上面的行中删除ABC的第一次出现:
s = s.replace('abc', '');
如何替代所有事件?
当前回答
这里是一个非常简单的解决方案. 您可以将一个新方法分配给一个 String 对象
String.prototype.replaceAll = function(search, replace){
return this.replace(new RegExp(search, 'g'), replace)
}
var str = "Test abc test test abc test test test abc test test abc";
str = str.replaceAll('abc', '');
console.log(str) // -> Test test test test test test test test
其他回答
说你想用“x”取代所有的“abc”:
let some_str = 'abc def def lom abc abc def'.split('abc').join('x')
console.log(some_str) //x def def lom x x def
我试图思考一些更简单的东西,而不是修改链条的原型。
如果链条包含类似的模式,如abccc,您可以使用以下模式:
str.replace(/abc(\s|$)/g, "")
使用常规表达式:
str.replace(/abc/g, '');
我只是想分享我的解决方案,基于JavaScript最新版本的一些功能功能:
var str = "Test abc test test abc test test test abc test test abc";
var result = str.split(' ').reduce((a, b) => {
return b == 'abc' ? a : a + ' ' + b; })
console.warn(result)
我喜欢这个方法(看起来有点干净):
text = text.replace(new RegExp("cat","g"), "dog");