gpt4 book ai didi

javascript - 判断一个多词字符串是否包含一个词

转载 作者:行者123 更新时间:2023-11-30 12:42:01 25 4
gpt4 key购买 nike

目标:

(我认为这不是重复的原因是它涉及匹配字符串中每个单词的开始,而不仅仅是字符串中的任何内容)

我正在使用 Javascript/jQuery。假设我有刺痛,那就是:

Muncie South Gateway Project

我正在创建一个实时搜索框,它会在每次击键时根据字符串检查输入。如果输入匹配单词的开头而不是中间,我想返回一个匹配项。示例:

Mu = Match
Muncie = Match
unc = No Match
cie = No Match
Gatewa = Match
atewa = No Match

我有什么

我目前正在使用它作为我的支票:

if (new RegExp(input)).test(string.toLowerCase()) {return '1';}

但是,这会匹配所有字母,包括单词中间的字母。有了它,然后我的例子得到这个结果:

M = Match
Mu = Match
Mun = Match
Muncie = Match
unc = Match // Should not match
cie = Match // Should not match
Gatewa = Match
atewa = Match // Should not match

问题:

我知道这可以通过将字符串分成单独的单词并测试每个单词来完成。但我不确定那会有多有效。有什么好的方法吗?

最佳答案

您可以使用单词边界来确保给定的输入仅在单词字符的开头匹配:

if (new RegExp("\\b" + input)).test(string.toLowerCase()) {return '1';}

Working Demo

编辑:根据下面的评论,您可以使用:

var re = new RegExp("(?:^|\\s)" + input, "i"));
if (re.test(string)) {return '1';}

关于javascript - 判断一个多词字符串是否包含一个词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24103017/

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