gpt4 book ai didi

javascript - 使用javascript在夏季笔记编辑器中查找下一个并替换

转载 作者:数据小太阳 更新时间:2023-10-29 04:17:44 25 4
gpt4 key购买 nike

我想要 java 脚本代码添加自定义按钮以查找下一个并在 summer-note 编辑器中替换,如下图所示 -

enter image description here

我成功地使用“gi”正则表达式全局替换了文本,也成功地使用“i”正则表达式一个接一个地替换了所有单词。但是我无法使用 find next 跳过单词然后替换下一个单词。

请帮忙。提前致谢。

最佳答案

您可以将一个函数传递到您的正则表达式替换语句中,您可以在其中仅替换此处显示的方法中的特定第 n 个匹配项。当有人在新搜索中第一次单击 Find Next 时,它应该创建一个变量来跟踪 n,将其设置为等于 1。每次他们再次单击 Find Next 时,增加 n 的值。当他们点击 Replace 时,使用该值调用 replaceNth,然后增加 n 的值并继续下一个结果。

此处的第一个调用显示您可以将此函数用作一个包罗万象的东西 - 如果您不传递 n,它会替换所有内容。如果您确实传递了 n,它将替换那个匹配项。

function replaceNth(str, rgx, replacement, n){
if(n) {
let matchIndex = 0
return str.replace(rgx, match => {
return ++matchIndex == n ? replacement : match
})
} else {
return str.replace(rgx, replacement)
}
}

let sampleText = document.querySelector('p').textContent

console.log(replaceNth(sampleText, /cow/gi, 'MOO'))

console.log(replaceNth(sampleText, /cow/gi, 'MOO', 2))
<p>This is sample cow text with the word cow placed repeatedly cow within it.</p>

关于javascript - 使用javascript在夏季笔记编辑器中查找下一个并替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49360185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com