我有一个句子,我想确定它是否包含一个集合的任何元素。
val sentence = "Hello, today is a fine day to learn scala"
val mySet = Set("day", "scala")
怎么样:
mySet.exists(word => sentence.contains(word))
如果从集合中至少有一个单词出现在字符串中,则返回true
。
这是一个解决方案…
- ——在敏感(
"scala"
does)match"Scala"
) - 忽略子字符串(
"rat"
doesnot)match"rats"
) - 忽略标点符号(!?,-),除非
mySet
中特别指定
mySet.mkString("(?i)\b(", "|", ")\b")
.r.unanchored
.matches(sentence)