当元素包含超过 1 个单词时在两个列表中查找公共元素 -Dart

问题描述 投票:0回答:1

我正在尝试构建一个应用程序,可以在食品的成分列表中查找特定成分。
我有一个称为过滤结果的食品成分列表

filtered results: [{key: enriched corn meal corn meal, vegetable oil (corn, canola, and/or sunflower oil

我想找到此列表中与我的列表

desired strings

匹配的所有内容
desired Strings: [ sesame oil, sesamin,  vegetable oil, canola oil]

目前我正在使用这个方法来比较它们

  Set<String> lowercaseSet1 =
      cleanedUpStrings.map((e) => e.toLowerCase().trim()).toSet();
  Set<String> lowercaseSet2 =
      desiredStrings.map((e) => e.toLowerCase().trim()).toSet();
  Set<String> commonElements = lowercaseSet1.intersection(lowercaseSet2);

但是我的

commonElements
正在返回 {} 我能够将单词分割成空格,以便逐个单词进行比较,这很有效。但
commonElements
返回的是“植物”而不是植物油。
如何找到多个单词的精确匹配?

flutter list dart set
1个回答
0
投票
List list1 = ["AA", "BB", "CC, "DD"]
List list2 = ["CC", "DD", "EE", "FF"]
commons = []
list1.map((word)=>if(list2.contains(word){
commons.add(word);}))
© www.soinside.com 2019 - 2024. All rights reserved.