首页 > 解决方案 > 拆分文本文件 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)。

标签: pythonstringpython-2.7split

解决方案


您可以像这样使用正则表达式:

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

推荐阅读