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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。