gpt4 book ai didi

JavaScript 正则表达式用于匹配字符串化数组中不包含搜索词的项目

转载 作者:行者123 更新时间:2023-11-28 07:25:27 25 4
gpt4 key购买 nike

我想从字符串化数组中删除所有不包含字符串“foo”的跨度项目。该字符串如下所示:

["<span>This is some text</span>","<span>This is more foo</span>","
<span><span>Inner span blah</span>This is one has an inner span
foo</span>","<span>Last one</span>"]

最终结果字符串应如下所示:

["<span>This is more foo</span>","<span><span>Inner span blah</span>
This is one has an inner span foo</span>"]

使用 JSON.parse() 创建数组,然后进行过滤是可行的,但对于我的目的来说,它不够快。

我尝试过使用负向前瞻的正则表达式变体,但似乎无法让它们工作。

最佳答案

JavaScript提供了实现你想要的功能,使用正则表达式可以节省不必要的资源。

代码:

var myArray = ["<span>This is some text</span>","<span>This is more foo</span>","<span><span>Inner span blah</span>This is one has an inner span foo</span>","<span>Last one</span>"];

for (i=0;i<myArray.length;++i) {
if(myArray[i].indexOf("foo") === -1){
myArray.splice([i], 1);
}
};
console.log(myArray);

输出:

["<span>This is more foo</span>", "<span><span>Inner span b...n inner span foo</span>"]

CODEPEN DEMO

说明:

循环myArray:

for (i=0;i<myArray.length;++i)

使用indexOf检查foo是否不存在

if(myArray[i].indexOf("foo") === -1)

如果 foo 不存在,请使用 splice 将其从数组中删除

myArray.splice([i], 1);

关于JavaScript 正则表达式用于匹配字符串化数组中不包含搜索词的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29719597/

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