Javascript-相反的replace()方法?

chr*_*ong 0 javascript methods replace

var str = "1, 2, 3";
var res = str.replace(","," and");
Run Code Online (Sandbox Code Playgroud)

变量“ res”的结果为:

"1 and 2, 3"
Run Code Online (Sandbox Code Playgroud)

但这是我真正想要的:

"1, 2 and 3"
Run Code Online (Sandbox Code Playgroud)

那我该怎么办呢?

Cri*_*ris 5

使用正则表达式作为

str.replace(/\,(?=[^,]*$)/," and");
Run Code Online (Sandbox Code Playgroud)


the*_*eye 5

由于没有直接的方法可以执行此操作,因此您可以获取,字符串中的最后一个索引,将其排除在外,包括替换并重建该字符串。

var str = "1, 2, 3";
var lIndex  = str.lastIndexOf(",");
str = str.substring(0, lIndex) + " and" + str.substr(lIndex + 1);
console.log(str);
Run Code Online (Sandbox Code Playgroud)

输出量

1, 2 and 3
Run Code Online (Sandbox Code Playgroud)