我有一张scala spark的table,上面有:
val df = Seq(("1ST ST","NICK"),("2ND STREET","SAM"),("3RD AVE","ERIC"),("4TH AVENUE","SARAH")).toDF("STREET_NAME","NAME")
我想替换子字符串 STREET
与 ST
以及 AVENUE
与 AVE
在列中 STREET_NAME
. 我试过了,但没用:
df.withColumn(STREET_NAME,
regexp_replace(
$"STREET_NAME",
lit("STREET"),
"ST"
)
)
或者有更好的方法来替换子字符串吗?
2条答案
按热度按时间jjjwad0x1#
lit
不需要,因为第二个参数应该是要匹配的字符串模式,而不是列。ohtdti5x2#
尝试
replace
(或)regexp_replace()
spark内置功能。