Hi有一个Spark数据集,该数据集的其中一个列的列数据中有一个Ctrl+M
字符,结果是记录被分为两个记录,并且数据损坏。
尽管我已经添加了用于处理正则表达式换行符\r\n
的代码,但是我不确定同一代码是否能够处理Ctrl + M,即^M
:
filtered = filtered.selectExpr(convertListToSeq(colsList))
.withColumn(newCol, functions.when(filtered.col(column).notEqual("null"), functions.regexp_replace(filtered.col(column), "[\r\n]", " ")));
代码functions.regexp_replace(filtered.col(column), "<ascii for Ctrl+M>", " ");
是否有效? ..我不知道Ctrl + M的ascii值。