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

PySpark DataFrame列中移除第一个'- '及之前所有字符的方法

解决PySpark DataFrame移除第一个'- '及其前内容的问题

可以使用regex_replace函数配合合适的正则表达式实现需求,核心是匹配从字符串开头到第一个'- '的所有内容并替换为空。

正则表达式说明

使用正则 ^.*? - :

  • ^:匹配字符串起始位置
  • .*?:非贪婪模式匹配任意字符(直到遇到第一个目标匹配项)
  • -:匹配目标分隔符(注意空格和横杠的顺序)

代码实现

from pyspark.sql.functions import regex_replace

# 处理DataFrame,生成新列(或覆盖原列)
df = df.withColumn("A", regex_replace("A", r"^.*? - ", ""))

效果验证

处理后DataFrame的'A'列结果如下:

|      'A'        |
-------------------
|   order - one   |
|     sell        |
|     order       |
|     sell        |

这个方案会自动忽略没有'- '的行(如第三、四行),直接保留原内容,完全符合预期输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 20:35:20