我正在使用Scala,想替换数据帧replaceAll
中的特殊字符似乎不起作用,还有其他方法吗?
我的代码是这样的:
val specialchar = dataframe.select(column).replaceAll("[^A-za-z]+","")
答案 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 characters
和0-9 digits
。其他所有字符将被删除。