javascript - 将单词作为一个整体包含在内的搜索机制
问题描述
我创建了一种搜索机制,可以在字符串数组中搜索精确匹配的字符串,但我希望它更直观一些。
我还可以让它在字符串中搜索一个字符串(例如chicken
在grilled chicken
- 但是问题是这允许用户输入ken
orill
并且它返回grilled chicken
.
chicken
如果我输入或,我希望它返回grilled
。
有人对如何拥有更直观的搜索机制有任何建议吗?
编辑:
下面的正确答案在输入 1 个单词时有效,它会搜索字符串中的所有单个单词。但是,我意识到当您搜索 2 个单词时它会失败(因为它只单独搜索每个字符串单词)。
我通过添加不仅包括单独|| search == string
的单词匹配而且包括整个字符串匹配来解决这个问题。if
但是,我仍然遇到问题,无论是搜索:
整个字符串匹配 OR 匹配单个单词。
search = green cup
这意味着它在和时失败string = big green cup
。有没有办法通过切割集合来搜索来解决这个问题?也许类似于:
string.split(' ')
但也包括big green, green cup
到数组中?
解决方案
在没有正则表达式的情况下尝试这个最简单的代码
var data = ["first string1 is here", "second string2 is here", "third string3 is here"];
var wordToSearch = "string2 is thanks";
var broken = wordToSearch.split(' ');
var result = 'not found';
if(broken.length == 1){
data.forEach(function(d){
d1 = d.split(' ');
if(d1.includes(wordToSearch))
result = d;
});
}
else if(broken.length == 2)
{
data.forEach(function(d){
var d1 = d.split(' ');
if(d1.includes(broken[0]) && d1.includes(broken[1]))
{
result = d;
}
});
}
alert(result);
推荐阅读
- sql - REGEXP_LIKE DB2 正则表达式模式
- python - 线程中的 PySerial read() 在 Python 3 (.8.5) 上需要很长时间
- javascript - 在提供给 useReducer 的 Props 发生变化后反应更新 UI
- javascript - 使用 API 过滤和填充下拉选项时在下拉列表中设置默认值
- java - 如何使用 Dataflow 发布具有自定义属性的消息
- c# - 使用 EventTriggerBehavior/InvokeCommandAction 时出现间歇性错误
- javascript - 将计时器和网络链接添加到随机图像系统?
- python - 提取 HTML 并在 Python 中搜索
- r - For循环为数据帧中的每一列运行lmer模型给出“可变长度不同”错误(R)
- nim-lang - 如何捕获任何错误并在 Nim 中获取错误本身