You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark中无需硬编码提取括号内字符串的实现方法

在PySpark中提取括号内内容(避免硬编码)

需求:当tx字段的字符串格式为Reach % (XXX)时,无需硬编码具体的XXX内容,直接提取括号内的文本。

可以使用PySpark的regexp_extract函数,通过正则表达式捕获组实现通用提取:

import pyspark.sql.functions as F

# 提取"Reach % (...)"格式字符串中括号内的内容
df = df.withColumn('tx', F.regexp_extract('tx', r'Reach % \((.*?)\)', 1))

说明:

  • 正则表达式r'Reach % \((.*?)\)'中,\(和\)用来匹配实际的括号(括号在正则中属于特殊字符,需转义);(.*?)是非贪婪捕获组,会匹配括号内的任意内容直到遇到右括号。
  • regexp_extract的第三个参数1表示提取第一个捕获组的内容,也就是括号包裹的文本。
  • 如果原字符串不符合Reach % (...)的格式,该函数会返回空字符串,不会干扰其他格式的字段值。

内容的提问来源于stack exchange,提问作者user19814628

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:55:18