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

Pandas DataFrame指定列按特定字符串截取中间内容的实现问题

Pandas文本截取需求解法

针对你的两个问题,直接给出可运行的实现方案:


问题1:添加OR逻辑匹配两个起始关键词

正则表达式中直接用|表示或逻辑,将两个关键词放在正向预查规则内即可,代码如下:

import re

# 仅实现删除两个起始关键词之前的内容
df['PDF_text'] = df['PDF_text'].str.replace(
    r"^.+?(?=NOTICE OF COUNCIL MEMBERS MOTIONS|Motions on Notice)",
    "",
    regex=True
)

问题2:删除所有大小写形式的New Business及之后内容

搭配re.IGNORECASE忽略大小写,re.DOTALL让.匹配换行符(适配PDF提取的多行文本场景),代码如下:

# 删除所有大小写形式的New Business及之后的全部内容
df['PDF_text'] = df['PDF_text'].str.replace(
    r"new business.*",
    "",
    regex=True,
    flags=re.IGNORECASE | re.DOTALL
)

一步完成全部截取的合并写法

你也可以把两个规则合并为一行代码,一次性完成前后冗余内容的删除:

import re

df['PDF_text'] = df['PDF_text'].str.replace(
    r"^.+?(?=NOTICE OF COUNCIL MEMBERS MOTIONS|Motions on Notice)|new business.*",
    "",
    regex=True,
    flags=re.IGNORECASE | re.DOTALL
)

规则说明

  • 如果某行文本不存在指定的起始/结束关键词,替换操作不会生效,会保留原始文本
  • 若需处理关键词可能前后有多余空格的场景,可在关键词前后加\s*适配空白字符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:12:02