如何使用string.include(substring)检测目标字符串中存在的指定子串
使用字符串包含方法实现多子串匹配的方案
注:多数编程语言中对应的方法名为includes,你提到的include为笔误,下文统一使用标准写法
核心逻辑很简单:遍历所有待匹配子串,逐个调用includes()方法检测是否存在于目标字符串中,收集所有匹配成功的子串即可得到结果。
实现步骤
- 第一步:把所有待匹配的子串存入数组,方便批量遍历
- 第二步:定义目标字符串变量
- 第三步:遍历子串数组,对每个子串执行
目标字符串.includes(子串)判断,返回true的即为匹配项,存入结果数组 - 第四步:判断结果数组的长度,大于0说明存在匹配项,数组内的元素就是具体匹配的子串
代码示例(JavaScript)
// 定义待匹配子串列表 const candidateSubstrings = ['cat', 'dog', 'elephant', 'tiger', 'lion']; // 定义目标字符串 const targetSentence = "We have one cat in our home"; // 过滤得到所有匹配的子串 const matchedResults = candidateSubstrings.filter(sub => targetSentence.includes(sub)); // 结果处理 if (matchedResults.length) { console.log('匹配到的子串:', matchedResults); } else { console.log('没有匹配的子串'); }
运行上述代码的输出为匹配到的子串: ['cat'],和你的测试场景预期完全一致。
注意事项
includes()方法默认区分大小写,如果需要忽略大小写匹配,可以将目标字符串和待匹配子串统一转为小写/大写后再判断,示例如下:const matchedResults = candidateSubstrings.filter(sub => targetSentence.toLowerCase().includes(sub.toLowerCase()));
如果你使用的是其他编程语言,核心逻辑完全一致,只需替换为对应语言的字符串包含判断方法即可:比如Ruby用include?方法,Python直接用sub in targetSentence语法即可实现相同效果。
内容的提问来源于stack exchange,提问作者Milan Gupta
相关产品推荐
相关产品推荐

