filtrer une Liste selon plusieurs contient
Je veux filtrer un List
, et je veux seulement garder une chaîne si la chaîne contient des .jpg
,.jpeg
ou .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)
Je ne parviens pas à trouver que .contains
va m'aider!
De sortie requis:
List("a1.png","a3.png","a4.jpg","a5.jpeg")
En fonction de votre besoin, il semble que vous devez inclure la Chaîne se termine par (plutôt que contient) ces extensions. Exemple:
jpg.txt
OriginalL'auteur Govind Singh | 2014-11-10
Vous devez vous connecter pour publier un commentaire.
Utilisation
filter
méthode.Si vous avez pas défini montant de extentions:
OriginalL'auteur Sergey Lagutin
Pourquoi ne pas utiliser
filter()
avec une fonction appropriée de l'exécution de votre sélection/prédicat?par exemple
etc.
OriginalL'auteur Brian Agnew
Pour sélectionner tout ce qui contient l'une de l'arbitraire d'un certain nombre d'extensions:
list.filter(p => extensions.exists(e => p.contains(e)))
Qui est ce que @SergeyLagutin dit ci-dessus, mais j'ai pensé que je ferais remarquer qu'il n'a pas besoin de
matches
.OriginalL'auteur thund