如何替换JavaScript中出现的所有字符串

我有一根绳子:

"Test abc test test abc test test test abc test test abc"

str = str.replace('abc', '');

似乎只删除了abc在上面的绳子里。我怎么才能取代它的发生?


幕布斯7119047
浏览 600回答 3
3回答

千巷猫影

str = str.replace(/abc/g, '');在答复意见时:var find = 'abc';var re = new RegExp(find, 'g');str = str.replace(re, '');作为对单击“向上投票”如果是这样的话,你可以把它简化得更简单:function replaceAll(str, find, replace) {     return str.replace(new RegExp(find, 'g'), replace);}注:正则表达式包含特殊(元)字符,因此盲目地在find函数,无需预处理就可以转义这些字符。这包括在Mozilla开发人员网络氏正则表达式JavaScript指南,其中它们呈现以下实用函数:function escapeRegExp(str) {     return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");}所以为了让replaceAll()函数更安全,如果您还包括以下内容,则可以将其修改为escapeRegExp:function replaceAll(str, find, replace) {     return str.replace(new RegExp(escapeRegExp(find), 'g'), replace);}

ABOUTYOU

注意:不要在实际代码中使用这个。作为简单文字字符串的正则表达式的替代方法,可以使用str = "Test abc test test abc test...".split("abc").join("");一般的模式是str.split(search).join(replacement)在某些情况下,这比使用replaceAll还有一个正则表达式,但在现代浏览器中似乎不再是这样了。因此,这实际上应该仅作为一种快速攻击来使用,以避免需要转义正则表达式,而不是在实际代码中。
打开App,查看更多内容
随时随地看视频慕课网APP