实现思路有两种
1:按词拆分数组,
故名所以一个个进行拼接即可,简单易理解,不需要累诉了。
2:正则表达式公共方法
主要讲解第二个通用方法,正则有匹配组的概念,我们替换第一个组即可,方法如下
function replaceNthOccurrence(sentence, targetPhrase, replacePhrase, n) {
// 使用正则表达式和 replace() 方法进行替换
let replacedSentence = sentence.replace(eval(`/((?:.*?`+targetPhrase+`.*?){1}.*?)`+targetPhrase+`/m`), "$1" + replacePhrase);
return replacedSentence;
}
sentence:原句子
targetPhrase:目标词
replacePhrase:替换词
n:替换第一个相同的词,从0开始计算