我需要根据scala列表中的用户输入过滤列表

我需要根据scala列表中的用户输入过滤列表,scala,Scala,如何得到如下结果 val original=List("a","ab","abc","abcd","zadad","ji","jijdf","bcab", "frab","abkcdef","opabcd") val find="ab" val result="abc","abcd","bcab","frab","abcdef","opabcd" 您可以使用过滤器检查原始列表中哪些元素包含“查找”元素: original.filter(_.contains(find)) 编辑: 要跳过相等的

如何得到如下结果

val original=List("a","ab","abc","abcd","zadad","ji","jijdf","bcab", "frab","abkcdef","opabcd")
val find="ab"
val result="abc","abcd","bcab","frab","abcdef","opabcd"
您可以使用过滤器检查原始列表中哪些元素包含“查找”元素:

original.filter(_.contains(find))
编辑:

要跳过相等的元素,请执行以下操作:

original.filter(elem => elem.contains(find) && !elem.equals(find) )
结果:


我们应该做到这一点。过滤器允许您应用谓词,所以从元素类型到布尔值的函数

您的代码会在最终列表中产生额外的ab。若列表中的元素不等于find,如何添加检查?您可以添加一个条件来跳过相等:original.filterelem=>elem.containsfind&!elem.equalsfind我希望得到更优雅/更短的解决方案。你尝试了什么?给我们看看你的代码。
List[String] = List(abc, abcd, bcab, frab, abkcdef, opabcd)
original.filter(_.contains(find))