替换Scala中的特殊字符

时间:2019-11-15 17:34:37

标签: scala replaceall

我正在使用Scala,想替换数据帧replaceAll中的特殊字符似乎不起作用,还有其他方法吗?

我的代码是这样的:

val specialchar = dataframe.select(column).replaceAll("[^A-za-z]+","")

1 个答案:

答案 0 :(得分:0)

您可以在正则表达式中提供允许的字符。

尝试关注

 val badDF = Seq(("7369", "SMI_)(TH" , "2010-12-17", "800.00"), ("7499", "AL@;__#$LEN","2011-02-20", "1600.00")).toDF("empno", "ename","hire_date", "sal")
 val cleanedDF = badDF.select(badDF.columns.map(c => regexp_replace(badDF(c), """[^A-Z a-z 0-9]""", "").alias(c)): _*)
 cleanedDF.show

名称包含特殊字符。上面的正则表达式仅允许使用大写/小a-z characters0-9 digits。其他所有字符将被删除。

enter image description here