根据多个包含过滤列表 [英] filter a List according to multiple contains
本文介绍了根据多个包含过滤列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想过滤一个List
,如果字符串包含.jpg
、.jpeg
或<,我只想保留一个字符串代码>.png:
I want to filter a List
, and I only want to keep a string if the string contains .jpg
,.jpeg
or .png
:
scala> var list = List[String]("a1.png","a2.amr","a3.png","a4.jpg","a5.jpeg","a6.mp4","a7.amr","a9.mov","a10.wmv")
list: List[String] = List(a1.png, a2.amr, a3.png, a4.jpg, a5.jpeg, a6.mp4, a7.amr, a9.mov, a10.wmv)
我没有发现 .contains
会帮助我!
I am not finding that .contains
will help me!
所需的输出:
List("a1.png","a3.png","a4.jpg","a5.jpeg")
推荐答案
使用 filter
方法.
list.filter( name => name.contains(pattern1) || name.contains(pattern2) )
如果您有未定义的扩展数量:
If you have undefined amount of extentions:
val extensions = List("jpg", "png")
list.filter( p => extensions.exists(e => p.matches(s".*\.$e$$")))
这篇关于根据多个包含过滤列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文