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

Python pandas如何提取列中多个相同分隔符包裹的目标字符串

问题原因

你目前使用的rsplit('|', 2)是从字符串右侧开始按分隔符|分割,最多分割2次,返回的列表最后两位是空白字符串和POC-RM0EP7-01-A,因此取-2位不符合需求。

解决方案

提供两种可直接使用的实现方式:

  • 方案1:分割后过滤空串再取值
    按|分割后过滤掉所有空字符串,取第一个有效内容即可得到目标值:

    df["Fetch"] = df["Test"].str.split("|").apply(lambda x: [item for item in x if item][0])
    

    如果需要提取第N个非空内容,将末尾的[0]修改为对应下标即可(下标从0开始计数)。

  • 方案2:正则匹配(更高效)
    直接用正则提取第一个连续的非|字符,无需遍历过滤:

    df["Fetch"] = df["Test"].str.extract(r'([^|]+)')
    

两种方案用你提供的示例测试,返回的Fetch列结果均为CHNBAD,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 13:36:05