Javascript - 反向替换()方法?

时间:2014-01-04 10:04:07

标签: javascript methods replace

var str = "1, 2, 3";
var res = str.replace(","," and");

变量'res'的结果是:

"1 and 2, 3"

但这是我真正想要的:

"1, 2 and 3"

那我怎么能这样做呢?

3 个答案:

答案 0 :(得分:5)

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

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

<强>输出

1, 2 and 3

答案 1 :(得分:3)

使用正则表达式

str.replace(/\,(?=[^,]*$)/," and");

答案 2 :(得分:0)

试试这个

   var str = "1, 2, 3";
    var new_str = str.replace(/\,(?=[^,]*$)/," and");
    alert(new_str); // alerts output-- 1, 2 and 3