Я запускаю команду filter
для объекта в kotlin и пытаюсь сопоставить результаты.До сегодняшнего дня я не осознавал, что пустая строка будет соответствовать любой строке в содержании запроса следующим образом:
var brandname = ""
var brandtofind = "tide"
var result = brandtofind.contains(brandname) //results in true
Это проблематично, когда вы пытаетесь сопоставить записи, где строка может быть пустой, как показано ниже:
var candidates = this.filter{ product ->
text.contains(product.name) ||
text.contains(product.brandname) //brandname often empty
Я получаю огромное количество ложных срабатываний на продуктах без фирменного знака.Как изменить запрос, чтобы он совпадал только при наличии истинного совпадения?