Hen*_*bæk 30 javascript regex replace
我在查找如何用'和'替换字符串中的最后一个','时遇到问题:
有这个字符串:test1,test2,test3
我希望以:test1,test2和test3结束
我正在尝试这样的事情:
var dialog = 'test1, test2, test3';
dialog = dialog.replace(new RegExp(', /g').lastIndex, ' and ');
Run Code Online (Sandbox Code Playgroud)
但它不起作用
ann*_*ata 50
foo.replace(/,([^,]*)$/, ' and $1')
Run Code Online (Sandbox Code Playgroud)
使用$
(行尾)锚点为您提供位置,并在逗号索引右侧查找不包含任何逗号的模式.
编辑:
上述内容完全适用于定义的要求(尽管替换字符串是任意松散的),但基于评论的批评,下面更好地反映了原始要求的精神.
console.log(
'test1, test2, test3'.replace(/,\s([^,]+)$/, ' and $1')
)
Run Code Online (Sandbox Code Playgroud)
result = dialog.replace(/,\s(\w+)$/, " and $1");
Run Code Online (Sandbox Code Playgroud)
$1
指(\w+)
的是比赛的第一个捕获组。