You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Lodash实现字符串数组的部分匹配与完全匹配

实现Lodash支持完全+部分字符串匹配的分词处理

你当前的代码仅支持完全匹配,要同时实现部分匹配(比如用virus匹配viruses),只需修改匹配逻辑,用_.some()遍历关键词数组,检查分词是否包含目标关键词(忽略大小写)即可。

修改后的代码

const _ = require('lodash'); // 确保已引入Lodash

const textToSearch = 'The broken ship that caught fire also had viruses onboard';
const arrayOfKeywords = ['virus', 'fire', 'broken'];

const tokenize = text =>
    text
      .split(/(\w+)/)
      .map(x =>
        // 遍历关键词数组,检查当前分词是否包含任意关键词(忽略大小写)
        _.some(arrayOfKeywords, keyword => 
          x.toLowerCase().includes(keyword.toLowerCase())
        )
          ? {content: x, type: 'keyword'}
          : x
      );

const tokens = tokenize(textToSearch);
console.log(tokens);

逻辑说明

  • 用_.some()替代原有的_.includes():_.some()会遍历关键词数组,只要有一个关键词满足匹配条件就返回true
  • 匹配规则改为分词包含关键词(忽略大小写):既覆盖了完全匹配场景(比如broken和关键词broken互相包含),也支持部分匹配场景(比如viruses包含virus)
  • 保留原有分词逻辑:通过split(/(\w+)/)将文本拆分为单词和非单词字符,避免标点、空格等被误处理

输出效果

运行后,broken、fire、viruses都会被标记为keyword类型,其余内容保持原样。

内容的提问来源于stack exchange,提问作者MaylorTaylor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:03:14