这看起来非常简单,但是我很难想出一个干净的方法来做到这一点.
考虑:
var str = "foo bar foo bar foo bar";
Run Code Online (Sandbox Code Playgroud)
我想用str.substring(8, 15)任意长度的任意字符串替换第二个"foo bar"实例(即).
为什么不用
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)