Scala如何实现单行代码判断字符串是否包含List中任意元素
Scala 单行实现方案
核心实现直接使用Scala集合原生的exists方法即可,代码如下:
list.exists(targetStr.contains)
示例验证
对应你给出的测试场景验证效果:
- 定义目标字符串:
val targetStr = "This is A and B and C" - 测试用例1:
val list1 = List("A", "B"),执行代码返回true - 测试用例2:
val list2 = List("C", "D"),执行代码返回true - 测试用例3:
val list3 = List("D", "E"),执行代码返回false
补充说明
如果你熟悉Java Stream的实现逻辑,Scala的exists方法等价于Java Stream里的anyMatch方法,不需要额外开启流,直接调用集合原生方法即可实现需求。如果需要大小写不敏感的匹配,可以调整为如下写法:
list.exists(kw => targetStr.toLowerCase.contains(kw.toLowerCase))
内容的提问来源于stack exchange,提问作者thunderbolt
相关产品推荐
相关产品推荐

