我正在编写一个正则表达式来应用于PySpark数据帧列。你知道吗
我不能碰巧在PySpark中复制我的工作regexrunning here on regex101的结果。你知道吗
我尝试了几种方法(见下文),但似乎没有一种有效(甚至在特定的JavaRegex引擎上进行了测试)。我想把上面例子中的那一组拿来。你知道吗
(\w+(?:\s*|\d*)\s+RUE\s.*)
[\s\-]+(\d*\s*RUE\s+.*)
代码示例:
df = spark.createDataFrame([
('RESIDENCE LA VENDEENNE 80 81 RUE LOUIS LUMIERE',)
], ["adresse1"])
df.withColumn("adresse1", regexp_replace("adresse1", "(\w+(?:\s*|\d*)\s+RUE\s.*)", '$1')).show(truncate=False)
我得到的输出是我的不变的列:
+-----------------------------------------------+
|adresse1 |
+-----------------------------------------------+
|RESIDENCE LA VENDEENNE 80 81 RUE LOUIS LUMIERE|
+-----------------------------------------------+
当我期望列的值为
81 RUE LOUIS LUMIERE
到目前为止,我完全没有猜测,特别是我以前的工作(匹配)预测。你知道吗
火花配置:
我认为应该使用^{} 而不是^{} :
要在模式不匹配时保持列值不变,可以使用^{} 和^{} :
相关问题 更多 >
编程相关推荐