Это похоже на то, что это должно быть очень просто, но после нескольких вариантов я не могу вернуть правильный результат.Scala фильтрация на 2 условия для удаления строк из списка
У меня есть список строк, которые я пытаюсь фильтровать, и набор строк, которые я использую в качестве черного списка. Если какая-либо из строк в моем списке находится в черном списке, я хочу игнорировать их и возвращать только те, которые не присутствуют. В дополнение к этому у меня есть другой случай, который мне нужно проверить, поэтому мне нужно убедиться, что его нет в черном списке, а также не состояние два.
val strings = List("something", "something.else", "something-else")
val blacklist = Set(".else", ".new", ".old")
Я пытаюсь сделать что-то вроде:
strings.filter(f => !f.endsWith("-else"))
оставить только «что-то» и «something.else», но я не могу показаться, чтобы вернуть «что-то» само по себе.
Вы хотите слово не быть в «черном списке» или просто в конце? – Esardes
@ Esardes, это расширение имени файла, поэтому jsut the end – null
'strings.filterNot (s => blacklist.exists (s.endWith))'? –