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

Python新手求助:如何按标点拆分docx文本并实现换行

解决方法

首先,textract.process()返回的是字节(bytes)类型数据,得先转成字符串才能处理。接下来可以用正则表达式匹配所有以句号、问号、感叹号结尾的句子,既能拆分内容,又能保留标点在句尾。

完整代码示例:

import textract
import re

filename = r'C:\Users\User\Documents\testdocument.docx'
# 读取docx内容并转成字符串
newtext = textract.process(filename).decode('utf-8').strip()

# 匹配所有以.、?、!结尾的句子,[^.?!]+表示匹配任意非标点的字符,直到遇到标点
sentences = re.findall(r'[^.?!]+[.?!]', newtext)

# 遍历打印每个句子,每行一个
for sentence in sentences:
    # 去掉句子前后多余的空格
    print(sentence.strip())

补充说明

  • 如果docx文件编码不是utf-8,解码时可以换成decode('gbk')试试,根据文件实际编码调整。
  • 正则表达式r'[^.?!]+[.?!]'能覆盖大部分常规句子,若遇到省略号(比如...)这类特殊情况,可调整为r'[^.?!]+[.?!]+'来匹配连续标点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 14:40:09