Python3如何对PDF提取的字符串按\x0c字符进行分割
问题原因说明
re.split(r'[\x0c]+', text)本身功能正常,你误认为没有拆分,大概率是没注意到该方法返回的是列表结构,直接打印列表时的观感和原文本移除\x0c后的效果很像,实际内容已经拆分到不同的列表元素中,你可以打印len(返回的列表变量)验证,你给出的示例文本拆分后会得到2个独立片段。splitlines()是按所有Python预设的行分隔符(包括\n、\r、\f等)拆分内容,不是仅按\x0c拆分,不符合你指定仅用换页符作为拆分边界的需求,自然达不到预期效果。
解决方案
直接使用Python原生字符串split方法即可满足需求,不需要引入正则:
# 基础版:仅按\x0c拆分 split_parts = text.split('\x0c') # 优化版:拆分后自动去掉每个片段前后的多余换行、空白,同时过滤空片段 split_parts = [part.strip() for part in text.split('\x0c') if part.strip()]
如果需要兼容连续多个\x0c的场景,可以用正则写法:
import re split_parts = [part.strip() for part in re.split(r'\x0c+', text) if part.strip()]
内容的提问来源于stack exchange,提问作者Perry
相关产品推荐
相关产品推荐

