【发布时间】:2020-01-07 13:43:19
【问题描述】:
我在 txt 文件中有第一本《哈利·波特》书籍的一些章节。我想将 txt 文件拆分为包含不同章节的列表,没有章节编号和章节名称。如何使用正则表达式做到这一点?
txt 如下所示:
Chapter one
The boy who lived
Mr. and Mrs. Dursley, ...
Chapter two
The vanishing glass
Nearly ten years had passed...
那么我希望我的列表看起来像:
['Mr. and Mrs. Dursley, ...', 'Nearly ten years had passed...']
我是正则表达式的新手,但这是我迄今为止尝试过的:
chapter_list = re.split('.*\n\nchapter.*\n\n?, text)
而且所有章节名称都不以the
开头【问题讨论】:
-
可能你可以使用
chapter_list = [chapter.strip() for chapter in re.split(r'(?im)^Chapter +\w+(?:-\w+)?$', text) if chapter.strip()]。(?:-\w+)?是支持twenty-two这样的词。也许您可以使用[ -]而不是-来留出空格而不是连字符。