【发布时间】:2018-06-04 03:26:00
【问题描述】:
数据框中有一列batch。它具有 '9%'、'$5' 等值。
我需要使用regex_replace 来删除上面示例中的特殊字符并只保留数字部分。
9 和 5 等示例分别替换同一列中的 9% 和 $5。
【问题讨论】:
标签: regex apache-spark dataframe pyspark
数据框中有一列batch。它具有 '9%'、'$5' 等值。
我需要使用regex_replace 来删除上面示例中的特殊字符并只保留数字部分。
9 和 5 等示例分别替换同一列中的 9% 和 $5。
【问题讨论】:
标签: regex apache-spark dataframe pyspark
df.withColumn("batch",regexp_replace(col("batch"), "/[^0-9]+/", ""))
【讨论】:
batch...除数字之外的所有内容都将替换为空白
select... df.select(regexp_replace(col("col1"), "/[^0-9]+/", ""), regexp_replace(col("col2"), "/[^0-9]+/", ""))
到目前为止,您尝试了什么?
select regexp_replace("'$5','9%'","[^0-9A-Za-z]","")
【讨论】:
你可以使用这个正则表达式:
\W+
\W - 匹配任何非单词字符(等于 [^a-zA-Z0-9_])
【讨论】: