var str = "1, 2, 3";
var res = str.replace(","," and");
变量'res'的结果是:
"1 and 2, 3"
但这是我真正想要的:
"1, 2 and 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