這感覺就像它應該很簡單,但經過多次變化後,我無法返回正確的結果。2個條件的Scala過濾從列表中刪除字符串
我有我想要過濾的字符串列表以及我用作黑名單的一組字符串。如果列表中的任何字符串都在黑名單中,那麼我想忽略它們,只返回那些不存在的字符串。除此之外,我還有另一個需要檢查的案例,所以我需要確保它不在黑名單中,也沒有條件二。
val strings = List("something", "something.else", "something-else")
val blacklist = Set(".else", ".new", ".old")
我試着這樣做:
strings.filter(f => !f.endsWith("-else"))
只留下「東西」和「something.else」,但我似乎無法自行返回「東西」。
你想要的字不在黑名單中還是僅僅在最後? – Esardes
@Esardes,這是文件擴展名,所以只是結尾 – null
'strings.filterNot(s => blacklist.exists(s.endWith))'? –