一尘不染

如何使用javascript替换字符串中最后出现的字符

javascript

我在寻找如何用’和’替换字符串中的最后一个’,’时遇到问题:

具有以下字符串:test1,test2,test3

我想以:test1,test2和test3结尾

我正在尝试这样的事情:

var dialog = 'test1, test2, test3';    
dialog = dialog.replace(new RegExp(', /g').lastIndex, ' and ');

但它不起作用


阅读 269

收藏
2020-05-01

共1个答案

一尘不染

foo.replace(/,([^,]*)$/, ' and $1')

使用$行尾 )锚点来指定您的位置,并在逗号索引的右侧查找不包含任何其他逗号的模式。

编辑:

以上内容完全符合定义的要求(尽管替换字符串任意松散),但基于评论意见,以下内容更好地体现了原始要求的精神。

console.log(

   'test1, test2, test3'.replace(/,\s([^,]+)$/, ' and $1')

)
2020-05-01