仅用.replace替换第一个匹配



我有一个函数,查看内容字符串&文档的数组并找到任何匹配项,然后用户可以接受或拒绝该匹配(另一个函数)。当用户接受这个匹配时,请参阅下面的acceptLink函数,然后我希望它替换第一个匹配,而不是所有匹配。

示例内容:"我第一次回家是我去家里看我的狗。">

示例数组:{名称:"回家",链接:"https://www.home.com/"}

预期输出我第一次去<一个类>是当我去家里看我的狗的时候。">

const acceptLink = (a) => {
var reg = new RegExp('('+a.name+')', 'gi');
const aTag = '<a class="newLink"  href=' + a.link + '>' + a.name + '</a>'
setContent(content.replace(reg, aTag));
const replaceContent = content.replace(reg,aTag)
const filtered = allLinks.filter(obj => {
return obj.name !== a.name;
});

我错过了什么吗?

删除g

const acceptLink = (a) => {
var reg = new RegExp('('+a.name+')', 'i');
const aTag = '<a class="newLink"  href=' + a.link + '>' + a.name + '</a>'
setContent(content.replace(reg, aTag));
const replaceContent = content.replace(reg,aTag)
const filtered = allLinks.filter(obj => {
return obj.name !== a.name;
});

最新更新