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

PySpark正则替换求助:将QTXXXUOE格式转为QT111XXX格式

解决QTXXXUOE格式编号的PySpark正则替换问题

直接使用以下代码即可实现需求:

df = df.withColumn('columnname', regexp_replace('columnname', r'^QT(\d{3})UOE$', r'QT111$1'))

代码说明:

  • 正则表达式^QT(\d{3})UOE$:
    • ^和$限定匹配整个字符串,确保只处理严格符合QTXXXUOE格式的内容
    • (\d{3})是捕获分组,专门提取原编号里的三位数字(即你所说的XXX)
  • 替换字符串QT111$1:
    • $1代表刚才捕获到的三位数字,这样就能把原格式替换成QT111加原三位数字的目标格式

之前代码失败的原因:

你之前用的^QT...UOE虽然能匹配到目标字符串,但替换时写的QT111...是直接输出三个点,而非引用匹配到的三位数字。另外...会匹配任意三个字符,用\d{3}能精准匹配数字,避免误处理不符合要求的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 14:46:00