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

Python中如何移除DataFrame字符串内的特定GOST格式内容?

问题分析与解决

你的正则表达式未完全匹配GOST编号的完整格式,导致部分内容残留。原正则中\d+(?:-\d+)*仅能匹配纯数字+可选横杠数字的结构,但GOST编号存在2.114-2016这类带点分隔的数字组合,这部分未被纳入匹配范围,因此只移除了编号的前半段,留下.114-2016这类剩余内容。

修正后的代码

将匹配GOST编号的部分调整为\d+(?:[.-]\d+)*,同时支持点和横杠分隔的数字结构:

import pandas as pd
import re

# Sample DataFrame
data = {'description': ["п. 5.6.2 ГОСТ 2.114-2016",
                        "п. 4.1 ГОСТ 2.102-2013",
                        "п.5 ГОСТ Р 51672-2000"]}

df = pd.DataFrame(data)

# 修正后的正则模式
pattern = r'п\.\s*\d+(?:\.\d+)*\s*ГОСТ(?:\s*Р)?\s*\d+(?:[.-]\d+)*'

# 移除匹配内容并清理残留空白
df['description'] = df['description'].apply(lambda x: re.sub(pattern, '', x).strip())

print(df)

运行结果

description
0             
1             
2             

额外添加.strip()是为了清除替换后可能残留的空白字符,让结果更整洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:52:21