Spark用标签替换\ t

时间:2018-04-03 20:17:25

标签: scala apache-spark

我有一个数据框,其中包含“\ t”而不是标签,我想用实际标签替换这些字符。基本上我希望"DP13037_A1_\tiphone 5S"成为"DP13037_A1_ iphone 5S"

似乎可以使用regexp_replace来达到这个目的,但也许我没有正确使用它,因为它不会替代我的“\ t”。

这是我的代码段:

snapshot.filter(snapshot(MERCHANT_ID).isin(BLACKLISTED_MERCHANTS: _*)).show(false)
    var finalSnapshot = snapshot.withColumn(SKU, regexp_replace(snapshot(SKU), "\t"," "))
    finalSnapshot.filter(finalSnapshot(MERCHANT_ID).isin(BLACKLISTED_MERCHANTS: _*)).show(false)

有没有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

在这里找出问题所在。我需要在指定要替换的正则表达式模式时使用转义字符。

  finalSnapshot = snapshot.withColumn(SKU, regexp_replace(snapshot(SKU), "\\\\t"," "))