在python中搜索目标

2024-05-16 09:22:46 发布

您现在位置:Python中文网/ 问答频道 /正文

很抱歉问一个初学者的问题,但我完全卡住了,我非常希望有人能帮助我。你知道吗

我有一个很大的文档文件,里面有我想保留的部分,还有我想删除的部分。我想让所有的部分都从“开始”到“编辑:”但是它们由多个段落组成(不是一个一致的数字,只有第一个段落从“编辑:”开始)。你知道吗

我想放弃的作品有一个词“铅”开头的段落,再次,他们可能是几个段落长。你知道吗

我想要一种使用python遍历文档的方法,当它找到一个“LEAD”实例时,可以跳到下一个“to the Editor”实例,但到目前为止,除了提取我想要的第一段文本之外,我还没有做任何事情。你知道吗

如果这有帮助的话,就是这个代码(除了我正确地缩进它之外,老实说):

for line in file_to_use:
    if re.search ("LEAD", line):
        break
    else:
        print line

当然,当它到达“LEAD”的第一个实例时,它就退出了循环。有没有办法让它搜索下一个目标(“到编辑器:”)并从那里重复这个过程?你知道吗

非常感谢你的帮助。你知道吗

编辑:

谢谢你编辑我原来的帖子!你知道吗

以下是文档的示例:

01.tgz:

对编辑说:我同意奇斯威克先生的观点,即移民政策应该有利于那些最有可能成为美国社会有生产力的成员的移民申请人。然而,我认为奇斯威克先生把申请人的教育水平和他可能的工作效率等同起来是错误的。我怀疑是否可以确定一个外籍工人的受教育程度与他的生产力之间的关联超出了最低水平。你知道吗

01.tgz:

例如,我们在bond maquiladora制造业和装配业的墨西哥工人的经验是,那些受过六级教育的工人在做同样的工作时,平均比美国工人(可能受过更好的教育)多产10%到25%。相反,在许多国外,大学教育似乎与有用的生产技能几乎成反比。ALLEN E.SMITH ALLEN E.SMITH&Associates Maquiladora工业咨询公司,德克萨斯州麦卡伦,12月29日,公司权力,续

01.tgz:

导语:缅因州一位颇受欢迎的地方法官面临两年来第二次不当行为指控,原因是他对酒后驾车者和少年犯的严厉处理政策。你知道吗

01.tgz:

导语:缅因州一位颇受欢迎的地方法官面临两年来第二次不当行为指控,原因是他对酒后驾车者和少年犯的严厉处理政策。你知道吗

01.tgz:

缅因州最高法院在过去八年里裁定另外三名法官犯有不当行为,但贝诺伊特是唯一两次出庭的法官。你知道吗

01.tgz:

“我们对他们对他的所作所为感到愤怒,”琼·帕特森说,她和丈夫在法明顿经营兽医业务任何试图做些不同的事,做得更好的人都会受到高射炮的攻击

01.tgz:

在圣诞节期间,帕特森夫人分发了5200条红丝带,让人们系上汽车,以表示对贝诺伊特法官的支持。你知道吗

01.tgz:

“一位女士告诉我,七年前,贝诺伊特法官对她丈夫作出了严厉的判决,救了他一命,”帕特森夫人说大多数人都非常支持他的所作所为


Tags: to实例文档编辑line政策生产力段落
2条回答

如果我了解目标,请尝试使用多行正则表达式:

re.findall(r'^(?:To the Editor:)(.*?)(?=^LEAD:)', txt, re.S | re.M)

Live Demo

一种方法是当代码看到“lead”时“关闭”输出,当代码看到“to the Editor:”时将其重新打开

lead = False

for line in file_to_use:
    if re.search ("LEAD", line):
        lead = True
    if re.search ("To the Editor:", line):
        lead = False

    if lead == False:
        print line

相关问题 更多 >