gpt4 book ai didi

javascript - RegEx - 从逗号分隔的字符串中提取包含子字符串的单词

转载 作者:行者123 更新时间:2023-11-29 10:43:03 25 4
gpt4 key购买 nike

使用 Javascript/jQuery,我有以下字符串;

MasterString = "typography,caret,car,card,align,shopping-cart,adjust,allineate";

什么是最好的 RegEx 来提取包含例如“car”,所以我剩下以下字符串;

ResultString = "caret,car,card,shopping-cart";

是否也可以只提取包含“car”的第一个单词?

ResultString = "caret";

我正在编写一个简单的搜索例程,它将查询 (car) 与逗号分隔列表 进行匹配,我想将第一个结果显示为查询的结果。


更新

我尝试了下面答案中提到的简单 RegEx;

[^,]*car[^,]*

效果很好,请看这张(测试)图片 - http://i.imgur.com/RXwkrrF.png?1

查询是“car”,并且所有标记有至少包含“car”的词的图标都在搜索结果中可见。

唯一的问题是搜索字符串“car”总是不同的(取决于用户在搜索表单中输入的内容)。那么如何在上面的 RegEx 中输入变量 match-string 呢?

类似这样的东西;

[^,]*%QUERY-FROM-SEARCHFIELD%[^,]*

最佳答案

您可以尝试使用下面的正则表达式来仅匹配字符串 caret,car,card,shopping-cart,

[^,]*car[^,]*

DEMO

> var masterString = "typography,caret,car,card,align,shopping-cart,adjust,allineate";
undefined
> masterString.match(/[^,]*car[^,]*/g);
[ 'caret',
'car',
'card',
'shopping-cart' ]

要匹配包含字符串 car 的第一个单词,您需要从模式中删除全局标志。

> masterString.match(/[^,]*car[^,]*/);
[ 'caret',
index: 11,
input: 'typography,caret,car,card,align,shopping-cart,adjust,allineate' ]

现在将数组转换为以逗号分隔的字符串并将其存储到变量中。

> var resultString = masterString.match(/[^,]*car[^,]*/g).join(",");
undefined
> resultString
'caret,car,card,shopping-cart'

关于javascript - RegEx - 从逗号分隔的字符串中提取包含子字符串的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094811/

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