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

Dart中如何判断字符串是否包含搜索输入的所有单词

Dart 实现多单词全匹配搜索功能

实现思路

  • 统一转换为小写匹配,避免大小写差异导致匹配失败(适配示例中Flutter和flutter的匹配场景)
  • 将原字符串、搜索字符串均按空格拆分为独立单词集合,自动去重
  • 校验搜索单词集合是否为原字符串单词集合的子集,只要所有搜索单词都存在就返回true

完整实现代码

支持命名参数调用,完全匹配你的示例调用规则:

String myString1 = "I love Flutter";
String myString2 = "I like Flutter";

String searchValue1 = "I flutter";
String searchValue2 = "I love flutter";

bool searchFunction({required String myString, required String searchValue}) {
  // 统一转小写后拆分单词为集合
  final sourceWords = myString.toLowerCase().split(' ').toSet();
  final searchWords = searchValue.toLowerCase().split(' ').toSet();
  // 判断所有搜索单词都存在于原字符串中
  return searchWords.every((word) => sourceWords.contains(word));
}

运行结果验证

和你给出的预期结果完全一致:

searchFunction(myString: myString1, searchValue: searchValue1); // true
searchFunction(myString: myString2, searchValue: searchValue1); // true
searchFunction(myString: myString1, searchValue: searchValue2); // true
searchFunction(myString: myString2, searchValue: searchValue2); // false

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:06:03