Python实现提取docx文档每段中双引号包裹的文章标题
Python提取docx参考文献中双引号包裹文章标题的实现方案
原代码问题说明
- 循环变量名混用:遍历用的变量是
para,但代码内部错误调用了未定义的变量i - 多余的编码转换:将段落文本编码为UTF-8字节流再转字符串,会额外增加
b前缀,影响后续匹配 - 缺少匹配双引号内容的逻辑,仅打印了原始段落内容
调整后完整代码
from docx import Document import re doc = Document("References.docx") for para in doc.paragraphs: # 直接获取段落纯文本 para_text = para.text # 正则匹配全角双引号之间的内容,非贪婪模式避免多引号匹配错误 title_match = re.search(r'“(.*?)”', para_text) if title_match: # 打印匹配到的标题内容 print(title_match.group(1))
代码说明
- 导入
re正则模块完成字符串匹配,规则中的“和”匹配示例中使用的中文全角双引号,.*?为非贪婪匹配,确保只会取到第一个成对双引号的内容 - 自动过滤没有双引号的段落,仅输出匹配到的标题
内容的提问来源于stack exchange,提问作者Mr. Holy
相关产品推荐
相关产品推荐

