我有一系列像这样的字符串:
val foo = Seq("bar scala baz", "bar java baz", "bar python baz")
Run Code Online (Sandbox Code Playgroud)
我需要在两者之间提取所有内容bar,baz以便得到类似这样的内容:
val foobarbaz = Seq("scala", "java", "python")
Run Code Online (Sandbox Code Playgroud)
如何在Scala中使用正则表达式执行此操作?
不一定用正则表达式,考虑String条带方法,像这样,
foo.map { _.stripPrefix("bar").stripSuffix("baz").trim }
res: Seq[String] = List(scala, java, python)
Run Code Online (Sandbox Code Playgroud)
尝试这个
val regex = "^bar(.*)baz$".r
val foobarbaz = foo.collect { case regex(a) => a.trim }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4395 次 |
| 最近记录: |