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

问题描述

我有一个字符串str

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

执行下面的语句:

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

似乎只会替换第一个子串abc,如何替换所有的子串?

解决方案

1. 使用正则表达式

function replaceAll(search, replacement) {
    var target = this;
    return target.replace(new RegExp(search, 'g'), replacement);
};

2. 使用split和join方法

function replaceAll(search, replacement) {
    var target = this;
    return target.split(search).join(replacement);
};

在Windows 8 Chrome浏览器上测试,第一种方法比第二种方法快1倍左右。

用户头像
登录后发表评论