pyspark用正则表达式替换正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pyspark用正则表达式替换正则表达式相关的知识,希望对你有一定的参考价值。
我试图用一个正则表达式替换正则表达式(在这种情况下是一个带数字的空格)
我有一个包含字符串列的Spark数据帧。我想用逗号替换正则表达式(空格加数字)而不丢失数字。我试过这两个没有运气:
df.select(“A”,f.regexp_replace(f.col(“A”),“ s + [0-9]”,“,”)。alias(“被替换”))
df.select(“A”,f.regexp_replace(f.col(“A”),“ s + [0-9]”,“ s + [0-9],')。alias(”被替换“))
任何帮助表示赞赏。
答案
你需要的是另一个函数regex_extract
所以,你必须划分正则表达式并得到你需要的部分。它可能是这样的:
df.select("A", f.regexp_extract(f.col("A"), "(s+)([0-9])", 2).alias("replaced"))
以上是关于pyspark用正则表达式替换正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
PySpark 2 - 正则表达式替换 <BR> 之前的所有内容