在Spark中,我有一个数据框,其中一列的数据格式如下:“ he = 1she = 2it = 3me = 4 ”。我想将该列转换为格式“ 1-2-3-4 ”。
val rawDF = Seq(
("he=1she=2it=3me=4"),
("he=3she=5it=9me=7")
).toDF("raw")
val newDF = rawDF.withColumn("converted", regexp_replace($"raw", """[\D]*(\d*)[\D]*(\d*)[\D]*(\d*)[\D]*(\d*)""", """$1-$2-$3-$4"""))
然后我得到的结果在末尾添加了“-”。我不知道为什么会这样。
+-----------------+----------+
| raw| converted|
+-----------------+----------+
|he=1she=2it=3me=4|1-2-3-4---|
|he=3she=5it=9me=7|3-5-9-7---|
+-----------------+----------+
我的预期结果是
+-----------------+----------+
| raw| converted|
+-----------------+----------+
|he=1she=2it=3me=4| 1-2-3-4|
|he=3she=5it=9me=7| 3-5-9-7|
+-----------------+----------+
请您帮忙解释一下,我的代码出了什么问题? 谢谢!