在scala中替换特殊字符

问题描述 投票:0回答:1

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

我的代码是这样:

val specialchar = dataframe.select(column).replaceAll("[^A-za-z]+","")
scala replaceall
1个回答
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

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

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.