替换字符串切片

Aar*_*ron 2 javascript string

这看起来非常简单,但是我很难想出一个干净的方法来做到这一点.

考虑:

var str = "foo bar foo bar foo bar";
Run Code Online (Sandbox Code Playgroud)

我想用str.substring(8, 15)任意长度的任意字符串替换第二个"foo bar"实例(即).

JJ.*_*JJ. 6

为什么不用

var str = "foo bar foo bar foo bar";
str = str.substring(0, 8) + "my new string" + str.substring(15)
Run Code Online (Sandbox Code Playgroud)

您甚至可以概括为:

   var token = "foo bar";
   var newStr = "my new string";

   var str = "foo bar foo bar foo bar";
   str = str.substring(0, token.length+1) + 
           newStr + 
           str.substring(token.length*2+1);
Run Code Online (Sandbox Code Playgroud)