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 RDD 中的正则表达式?

PySpark 2 - 正则表达式替换 <BR> 之前的所有内容

如何在 pySpark 中有效地从字符串数据框中替换多个正则表达式模式的所有实例?

用正则表达式实现替换

pyspark用正则表达式读取csv文件

用正则表达式替换字符串