【发布时间】:2016-11-18 00:59:11
【问题描述】:
假设我有一个名为 df 和正则表达式的数据框,如下所示:
var df2 = df
regex = new Regex("_(.)")
for (col <- df.columns) {
df2 = df2.withColumnRenamed(col, regex.replaceAllIn(col, { M => M.group(1).toUpperCase }))
}
我知道这段代码正在重命名 df2 的列,这样如果我有一个名为“user_id”的列名,它将成为 userId。
我了解 withcolumnRenamed 和 replaceAllIn 函数的作用。我不明白的是这部分:{ M => M.group(1).toUpperCase }
什么是M?什么是组(1)?
我可以猜到发生了什么,因为我知道预期的输出是 userId,但我认为我并不完全理解这是怎么发生的。
有人可以帮助我理解这一点吗?真的很感激。
谢谢!
【问题讨论】:
标签: regex scala capturing-group