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

如何在Python/Pandas中移除字符串至特定字符前的内容?

问题

我有如下DataFrame:

link = [{'name': 'http://website.com/product76tre53932'}, {'name': 'http://website.it/productiee8340'}, {'name': 'http://website.de/productooi7309'}]
df = pd.DataFrame(link)

请问如何对其中的name列值进行截取处理,得到df['name_2']列的预期结果(即提取每个URL中product之后的字符)?

处理方法
  • 方法1:字符串分割法
    直接按固定字符串product分割,取分割后的第二部分:

    df['name_2'] = df['name'].str.split('product').str[1]
    

    优点:简单直观,适合所有URL都包含product前缀的场景。

  • 方法2:正则表达式提取法
    用正则精准匹配product后面的字符,灵活性更强(比如兼容product大小写变化等情况):

    df['name_2'] = df['name'].str.extract(r'product(\w+)', expand=False)
    

    正则r'product(\w+)'会匹配product后的所有字母数字字符,提取括号内的内容作为结果。

  • 方法3:路径分段处理法
    先截取URL最后一段(斜杠后的内容),再去掉product前缀:

    df['name_2'] = df['name'].str.split('/').str[-1].str.replace('product', '')
    

运行上述任意一种方法后,都会得到预期的name_2列,结果分别为76tre53932、iee8340、ooi7309。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 06:11:15