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

Pyspark如何拆分字符串列并提取Dev\或dev\之后的文件路径内容

你当前使用的固定字符串拆分逻辑只能匹配大写的Dev\,无法匹配小写的dev\,所以会出现部分结果不符合预期的情况,以下是两种可行的实现方案:

方案1:使用regexp_extract(更推荐,定位更精准)

这个方法直接通过正则匹配目标字段,避免拆分后取元素可能出现的边界问题:

from pyspark.sql import functions as F

df = df.withColumn(
    "sub_path",
    # (?i) 表示正则匹配忽略大小写,可同时匹配Dev或dev前缀
    # 四层反斜杠是为了兼容Python字符串转义+正则转义,对应路径中实际的单个反斜杠
    F.regexp_extract(F.col("path"), r"(?i)dev\\\\(.*)", 1)
)

方案2:沿用split逻辑适配大小写

如果要保留你现有的拆分思路,把拆分规则改成不区分大小写的正则即可:

from pyspark.sql import functions as F

df = df.withColumn(
    "sub_path",
    F.element_at(F.split(F.col("path"), r"(?i)dev\\\\"), -1)
)

两种方案都可以覆盖大小写的Dev\、dev\匹配场景,输出你需要的子路径结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:48:04