猿问

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

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


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


我想以:test1,test2和test3结尾


我正在尝试这样的事情:


var dialog = 'test1, test2, test3';    

dialog = dialog.replace(new RegExp(', /g').lastIndex, ' and ');

但它不起作用


萧十郎
浏览 1559回答 3
3回答

慕村9548890

foo.replace(/,([^,]*)$/, ' and $1')使用$(行尾)锚点来指定您的位置,并在逗号索引的右侧查找不包含任何其他逗号的模式。编辑:以上内容完全符合定义的要求(尽管替换字符串任意松散),但基于评论意见,以下内容更好地体现了原始要求的精神。console.log(    'test1, test2, test3'.replace(/,\s([^,]+)$/, ' and $1') )

尚方宝剑之说

正则表达式搜索模式\ s([^,] +)$Line1: If not, sdsdsdsdsa sas ., sad, whaterver4Line2: If not, fs  sadXD sad ,  ,sadXYZ!XLine3: If not d,,sds,, sasa sd a, sds, 23233通过模式搜索找到Line1:whatver4 Line3:23233却找不到第2行:sadXYZ!X,它仅缺少空格
随时随地看视频慕课网APP
我要回答