python - 拆分文本文件 Python
问题描述
我正在处理这样的文本文件:
第01章
Lorem ipsum
dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incidudunt
第02章
结构性脂肪
sed 做 eiusmod tempor
第03章
et dolore magna aliqua。
带有“chapter”、“Chapter”、“CHAPTER”等分隔符以及 1 位或 2 位数字(“Chapter 1”或“Chapter 01”)。
我设法在 Python 中打开和读取文件,使用.open()
和.read()
mytext = myfile.read()
现在我需要拆分我的字符串,以获取“第 XX 章”的文本。
对于第 02 章,这将是:
结构性脂肪
sed 做 eiusmod tempor
我是 Python 新手,我读过关于 regex、match、map 或 split 的信息,但是……嗯……
(我正在写一个 Gimp Python-fu 插件,所以我使用 Gimp 中捆绑的 Python 版本,即 2.7.15)。
解决方案
您可以像这样使用正则表达式:
import re
split_text = re.split("Chapter [0-9]+\n", # splits on "Chapter " + numbers + newline
mytext,
flags=re.IGNORECASE) # splits on "CHAPTER"/"chapter"/"Chapter" etc
>>> split_text
['', '\nLorem ipsum\n\ndolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt\n\n', '\nconsectetur adipiscing\n\nsed do eiusmod tempor\n\n', '\net dolore magna aliqua.']
您现在可以通过索引从每个章节中选择文本,split_text
例如:
print(split_text[2])
>>>
consectetur adipiscing
sed do eiusmod tempor
推荐阅读
- html - Bootstrap 4 全屏模式与 Safari 中的轮播问题
- spring - 无法从 Flux 转换
列出 - reactjs - 在反应应用程序中用玩笑测试双 axios 请求
- comments - 如何防止 yq 删除评论和空行?
- java - Java 8 lambda 链接谓词不起作用
- vue.js - 无法设置所选项目
- vba - 保存 activePresentation 然后关闭它的代码是什么?
- iphone - 生成和安装 APNS 生产证书后,是否需要立即更新分发证书和配置文件?
- sql - 如何使用 BigQuery 将垂直数据转换为水平数据?
- amazon-web-services - Kubernetes - 获取 Pod 的 EBS 卷