PySpark SQL 函数的regexp_replace(~)
方法将匹配的正则表达式替换为指定的字符串。
参数
1.str
| string
或 Column
其值将被替换的列。
2. pattern
| string
或 Regex
要替换的正则表达式。
3. replacement
| string
要替换 pattern
的字符串值。
返回值
新的 PySpark 列。
例子
考虑以下PySpark DataFrame:
df = spark.createDataFrame([['Alex', 10], ['Mile', 30]], ['name', 'age'])
df.show()
+----+---+
|name|age|
+----+---+
|Alex| 10|
|Mile| 30|
+----+---+
替换特定子字符串
要将子字符串 'le'
替换为 'LE'
,请使用 regexp_replace(~)
:
from pyspark.sql import functions as F
# Use an alias to assign a new name to the returned column
df.select(F.regexp_replace('name', 'le', 'LE').alias('new_name')).show()
+--------+
|new_name|
+--------+
| ALEx|
| MiLE|
+--------+
注意
第二个参数是正则表达式,因此$
和[
等字符将带有特殊含义。为了将这些特殊字符视为文字字符,请使用 \
字符(例如 \$
)对它们进行转义。
传入 Column 对象
我们还可以传入 Column
对象,而不是通过名称引用列:
df.select(F.regexp_replace(df.name, 'le', 'LE').alias('new_name')).show()
+--------+
|new_name|
+--------+
| ALEx|
| MiLE|
+--------+
获取新的PySpark DataFrame
我们可以使用 PySpark DataFrame 的 withColumn(~)
方法来获取具有更新列的新 PySpark DataFrame,如下所示:
df.withColumn('name', F.regexp_replace("name", 'le', 'LE').alias('new_name')).show()
+----+---+
|name|age|
+----+---+
|ALEx| 10|
|MiLE| 30|
+----+---+
使用正则表达式替换特定子字符串
要将仅在末尾出现的子字符串 'le'
替换为 'LE'
,请使用 regexp_replace(~)
:
from pyspark.sql import functions as F
df.select(F.regexp_replace('name', 'le$', 'LE').alias('new_name')).show()
+--------+
|new_name|
+--------+
| Alex|
| MiLE|
+--------+
在这里,我们使用特殊的正则表达式字符'$'
,它仅匹配出现在字符串末尾的模式。这就是 Alex
中的 'le'
未进行替换的原因。
相关用法
- Python PySpark SQL Functions regexp_extract方法用法及代码示例
- Python PySpark SQL Functions repeat方法用法及代码示例
- Python PySpark SQL Functions round方法用法及代码示例
- Python PySpark SQL Functions split方法用法及代码示例
- Python PySpark SQL Functions explode方法用法及代码示例
- Python PySpark SQL Functions concat方法用法及代码示例
- Python PySpark SQL Functions instr方法用法及代码示例
- Python PySpark SQL Functions count_distinct方法用法及代码示例
- Python PySpark SQL Functions dayofmonth方法用法及代码示例
- Python PySpark SQL Functions date_add方法用法及代码示例
- Python PySpark SQL Functions array方法用法及代码示例
- Python PySpark SQL Functions concat_ws方法用法及代码示例
- Python PySpark SQL Functions col方法用法及代码示例
- Python PySpark SQL Functions translate方法用法及代码示例
- Python PySpark SQL Functions dayofweek方法用法及代码示例
- Python PySpark SQL Functions expr方法用法及代码示例
- Python PySpark SQL Functions countDistinct方法用法及代码示例
- Python PySpark SQL Functions date_format方法用法及代码示例
- Python PySpark SQL Functions collect_list方法用法及代码示例
- Python PySpark SQL Functions lit方法用法及代码示例
- Python PySpark SQL Functions upper方法用法及代码示例
- Python PySpark SQL Functions length方法用法及代码示例
- Python PySpark SQL Functions dayofyear方法用法及代码示例
- Python PySpark SQL Functions trim方法用法及代码示例
- Python PySpark SQL Functions month方法用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 PySpark SQL Functions | regexp_replace method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。