当前位置: 首页 > 知识库问答 >
问题:

分割文本文件Python

扈瑞
2023-03-14

我正在处理这样的文本文件:

第01章

乱数假文

多洛·希特·阿梅特,一位杰出的献身者,他是一位临时顾问

第02章

献祭

临时行政长官

第03章

等等,多洛尔·马格纳·阿利夸。

带有分隔符,如“章”、“章”、“章”等...和1或2位数(“第1章”或“第01章”)。

我使用.open().read()

mytext = myfile.read()

现在我需要拆分我的字符串,以便获得“第二十章”的文本。

对于第02章,这将是:

献祭

临时行政长官

我是Python新手,我读过关于regex、match、map或split的文章,但是。。。好

(我正在编写一个Gimp Python fu插件,所以我使用Gimp中捆绑的Python版本,即2.7.15)。

共有2个答案

董喜
2023-03-14

你可以试试这个吼叫

chapter = [""]
for i in range(1,4):

  nb1=text.find("Chapter "+ "%02d" % (i,))
  nb2=text.find("Chapter "+ "%02d" % (i+1,))

  chapter.append(text[nb1:nb2])

for i in range(1,4):
    print(chapter[i])

或使用正则表达式

import re

chapter = re.split("Chapter [0-4]+\n", text)

for i in range(1,4):
    print(chapter[i])
阮喜
2023-03-14

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

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
 类似资料:
  • 我是新使用python阅读文本文件。我需要读一个文件,每行有4个我需要的数据,这是我的文本文件 我的问题是,如果我使用,它只用每行创建一个向量,但是我只需要一个向量用于第一列,一个用于第二列,一个用于第三列,还有一个用于第四列...有谁能帮帮我吗?

  • 问题内容: 我想像这将是一个简单的任务,但在以前的StackOverflow问题中我找不到我正在寻找的东西…… 我有一个专有格式的大文本文件,看起来像这样: 依此类推。 文本文件的大小从10kb到100mb不等。我需要用定界符分割此文件。如何基于块处理每个文件? 问题答案: 您可以使用itertools.groupby对列表中出现的行进行分组: 产量 或者,要处理组,您实际上不需要转换为列表:

  • 本文向大家介绍Python读取分割压缩TXT文本文件实例,包括了Python读取分割压缩TXT文本文件实例的使用技巧和注意事项,需要的朋友参考一下 废话不多说,上代码看吧! 以上这篇Python读取分割压缩TXT文本文件实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我怎样才能把所有我从一个文本文件读入的元素使用 流 ,其中monitoredData类有这些3个私有变量:; 文本文件Activities.txt如下所示: 等等.... 前2个字符串由一个空格分隔,然后是2个制表符,再一个空格是2个制表符。 问题答案: 您需要引入一个工厂来创建,例如,我正在使用a 来创建from : 然后, 您的代码在流上进行操作应如下所示,并且您不需要使用Coll

  • 本文向大家介绍易语言分割文本命令将一段文本通过指定文本分割开,包括了易语言分割文本命令将一段文本通过指定文本分割开的使用技巧和注意事项,需要的朋友参考一下 分割文本命令 英文命令:split 操作系统支持:Windows、Linux    所属类别:文本操作 将指定文本进行分割,返回分割后的一维文本数组。 语法:  文本型数组  分割文本 (待分割文本,[用作分割的文本],[要返回的子文本数目])

  • 我有这个网址 当页面加载时,我需要从url获取表名的文本。我试过这个 它返回。但是我需要表名作为。 我怎样才能得到这个?