1

我想知道如何用另一个字符串替换多个相同的单词。

前任。

"abc I abc was abc going abc to abc bed."

"* I * was * going * to * bed."

(这是一个将 'abc' 更改为 '*' 的示例)

我试过replace("abc", "*");了,但我注意到这只改变abc了字符串中出现的第一个标记,而其他所有标记都保持不变。

有任何想法吗?

4

6 回答 6

3

使用标志“g”:

string.replace(/abc/g, '*')
于 2013-11-14T07:24:40.773 回答
3

您想在字符串中执行全局替换。

为此,在 JavaScript 中,您需要:

  1. 将正则表达式 (RegEx) 作为搜索值(第一个参数)传递给replace方法
  2. 打开全局修饰符,以便通过您的搜索字符串全局搜索 RegEx。

根据您的要求:

var str= "abc I abc was abc going abc to abc bed.";
var newStr = str.replace(/abc/g, "*"); //newStr = "* I * was * going * to * bed."
于 2013-11-14T08:09:36.167 回答
1

您需要 /g 修饰符:str.replace(/abc/g, "*")

于 2013-11-14T07:24:01.523 回答
1

试试这个 :

var myString = "abc I abc was abc going abc to abc bed.";

var modifiedString = "";

modifiedString = myString.replace(/abc/g, '*');

alert(modifiedString);

也试试这个:

myString .replace(new RegExp("abc","g"),"*"));

试试这个

于 2013-11-14T07:26:19.483 回答
1
var str= "abc I abc was abc going abc to abc bed.";

str = str.replace(/abc/g,"*");
于 2013-11-14T07:26:26.870 回答
1

您需要使用 RegExp,如下所示:

    var str = "abc I abc was abc going abc to abc bed.";
    console.log(str.replace(/abc/g, "*"));

试试。

于 2013-11-14T07:30:49.063 回答