【发布时间】:2022-01-22 02:13:17
【问题描述】:
我有以下模式,我可以在 Python 中使用 pandas 进行解析,但很难将代码翻译成 Scala。
grade string_column
85 (str:ann smith,14)(str:frank chase,15)
86 (str:john foo,15)(str:al more,14)
在我使用的python中:
df.set_index('grade')['string_column']\
.str.extractall(r'\((str:[^,]+),(\d+)\)')\
.droplevel(1)
输出:
grade 0 1
85 str:ann smith 14
85 str:frank chase 15
86 str:john foo 15
86 str:al more 14
在 Scala 中,我尝试复制该方法,但失败了:
import scala.util.matching.Regex
val pattern = new Regex("((str:[^,]+),(\d+)\)")
val str = "(str:ann smith,14)(str:frank chase,15)"
println(pattern findAllIn(str)).mkString(","))
【问题讨论】: