根据字符串列表过滤 Scala 字符串序列

use*_*112 3 string scala filter delimiter collect

我有一个格式的 Scala 序列,("Apple-fruit", "Banana-fruittoo", "Chocolate-notafruit")我有另一个格式的 Scala 列表("Apple", "Banana")

我想根据第二个列表过滤我的第一个序列,以便我的最终输出是("Apple-fruit", "Banana-fruittoo"). 任何人都可以帮助我使用此过滤器功能吗?

Xav*_*hot 6

Seq("Apple-fruit", "Banana-fruittoo", "Chocolate-notafruit")
  .filter(x => Seq("Apple", "Banana").exists(y => x.contains(y)))
// Seq("Apple-fruit", "Banana-fruittoo")
Run Code Online (Sandbox Code Playgroud)

对于要过滤的 seq 的每一项 (x),我们检查是否至少存在过滤 seq 的一个元素 (y),例如 x 包含 y。

  • @RobertUdah 我不认为这是问题中的要求。在这种情况下,您可以这样做:`seqToFilter.filter(x => filteringSeq.exists(y => x.toLowerCase.contains(y.toLowerCase)))` (2认同)