kotlin - 使用 Kotlin 查找以数组中的一个字符串结尾的所有句子
问题描述
我正在寻找一种方法来过滤以 Kotlin 数组中的一个值结尾的字符串。
fun findStringsThatEndWith(sentences: List<String>, value: String) = sentences
.filter { it.endsWith(value) }
这将允许我过滤所有以一个值结尾的句子。
但我想做的是:
fun findStringsThatEndWith(sentences: List<String>, vararg value: String) = sentences
.filter { it.endsWith(value // This won't work //) }
当我这样做时,我必须知道 vararg 将持有多少个值。
fun findStringsThatEndWith(sentences: List<String>, vararg value: String) = sentences
.filter { it.endsWith(value[0]) || it.endsWith(value[1]) }
解决方案
在您传递的 lambda 中,filter
添加一个循环value
参数并检查每个参数的函数,例如
fun findStringsThatEndWith(sentences: List<String>, vararg value: String) =
sentences.filter { sentence -> value.any { sentence.endsWith(it) } }
推荐阅读
- java - selenium webdriver 找不到正确数量的元素
- angular - 如何在 Angular 中拦截取消的 http 请求?
- php - 如何在下载文件时修复文件的奇怪编码?
- android - 如何使用非启动器应用启用信息亭模式?
- c - 错误:从类型“char **”分配给类型“struct XXX”时类型不兼容
- android - 覆盖常见的 XML 样式
- javascript - Foreach 验证基于 foreach 列表中的最后一个输入进行验证
- r - 为什么 tidyr extract 不尊重 ignore_case 标志?
- jquery - 带有 Jquery btn 的 HTML 动态滚动顶部
- python - Django:创建查询集?