PySpark SQL 函数的 regexp_extract(~)
方法使用正则表达式提取子字符串。
参数
1.str
| string
或 Column
将提取其子字符串的列。
2. pattern
| string
或 Regex
用于子字符串提取的正则表达式模式。
3. idx
| int
从中提取值的组。请参阅下面的示例以进行说明。
返回值
新的 PySpark 列。
例子
考虑以下PySpark DataFrame:
df = spark.createDataFrame([['id_20_30', 10], ['id_40_50', 30]], ['id', 'age'])
df.show()
+--------+---+
| id|age|
+--------+---+
|id_20_30| 10|
|id_40_50| 30|
+--------+---+
提取特定子串
要提取每个 id
值中的第一个数字,请使用 regexp_extract(~)
,如下所示:
from pyspark.sql import functions as F
df.select(F.regexp_extract('id', '(\d+)', 1)).show()
+----------------------------+
|regexp_extract(id, (\d+), 1)|
+----------------------------+
| 20|
| 40|
+----------------------------+
此处,正则表达式 (\d+)
匹配一位或多位数字(在本例中为 20
和 40
)。我们将第三个参数值设置为1
,以表明我们有兴趣提取第一个匹配的组 - 当我们捕获多个组时,此参数很有用。
提取n-th捕获的子字符串
我们可以对 regexp_extract(~)
使用多个 (~)
捕获组,如下所示:
from pyspark.sql import functions as F
df.select(F.regexp_extract('id', '(\d+)_(\d+)', 2)).show()
+----------------------------------+
|regexp_extract(id, (\d+)_(\d+), 2)|
+----------------------------------+
| 30|
| 50|
+----------------------------------+
在这里,我们将第三个参数值设置为2
,以表明我们有兴趣提取第二组捕获的值。
相关用法
- Python PySpark SQL Functions regexp_replace方法用法及代码示例
- 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_extract method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。