Jea*_*ean 2 scala apache-spark spark-streaming
有没有一种方法可以用一个表达式过滤包含单词“ word1”或另一个“ word2”的行,例如:
val res = lines.filter(line => line.contains("word1" or "word2"))
Run Code Online (Sandbox Code Playgroud)
因为此表达式不起作用。
先感谢您
如果line是String最佳选择,则将使用regexp:
val pattern = "word1|word2".r
lines.filter(line => pattern.findFirstIn(line).isDefined)
Run Code Online (Sandbox Code Playgroud)
否则(其他序列类型),您可以使用Seq.exists:
lines.filter(line => Seq("foo", "bar").exists(s => line.contains(s)))
Run Code Online (Sandbox Code Playgroud)
它需要一个从element映射到boolean的单个对象(此处为(String) ? Boolean),并且:
测试谓词是否对这个可迭代集合的至少一个元素成立。
| 归档时间: |
|
| 查看次数: |
947 次 |
| 最近记录: |