gpt4 book ai didi

javascript - 删除所有出现的单词

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:22:20 27 4
gpt4 key购买 nike

我正在尝试删除文本中出现的所有单词。单词保存在一个数组中。
但是我没有删除它们,而是取回了我的原始文本:

var text = "This is just a little test, to check if it works."
var words = ["this", "is", "a", "to", "if", "it"];

for (i = 0; i < words.length; i++) {
text = text.replace(/words[i]/g, "")
}

alert(text); // result should be: just little test, check works.

这是一个 fiddle :https://fiddle.jshell.net/y07qgooq/

最佳答案

在您的代码中,words[i] 不会被解释为 javascript 语言,而是被解释为正则表达式语言,并且只会匹配“wordsi”。您可以按照以下方式制作您的正则表达式:

new RegExp("\\b" + words[i] + "\\b", "g")

我添加了 \b 单词边界以确保删除的单词不是单词的一部分。

如果你想匹配前导的“This”你还需要添加不区分大小写的标志 i :

new RegExp("\\b" + words[i] + "\\b", "gi")

如果您没有标点符号,使用以下替代方法会更有效:

在 ES6 中:

text.split(" ").filter(word => words.indexOf(word) == -1).join(" ");

在 ES6 之前:

text.split(" ").filter(function(word) { return words.indexOf(word) == -1; }).join(" ");

关于javascript - 删除所有出现的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34837818/

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