I'm new to backreference. I have an array and need to replace it in string.

Here's my try:

var cc = ["book","table"];

var str = "The $1 is on the $2";

var newstr = str.replace(cc, "$2, $1");

console.log(newstr)
有帮助吗?

解决方案

That's... hmm, I'm not sure I can understand the kind of confusion of ideas that would lead you to write such a thing...

Try this:

newstr = str.replace(/\$(\d)+/g,function(_,id) {return cc[id-1];});

其他提示

Try this:

var cc = ["book","table"];

var str = "The $1 is on the $2";

var newstr = str.replace('$1', cc[0]).replace('$2', cc[1]);

alert(newstr);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top