我希望你能在以下问题上提供指导。我只需要大量从一系列出版物中提取文章标题。我的想法是,我收到PDF文件,我只提取第一页(完成),批量转换为TXT (完成),我被困在最后一个阶段。
这些TXTs的结构如下:
--医学与生命杂志
JML审查
:新型聚(ADP-核糖)抑制剂在局部晚期转移性Her-2/neu阴性乳腺癌治疗中的作用。文献综述
作者名单等.
只需要标题(粗体),来自每个文件。我可以做迭代,这不是问题。
使用下面的代码,我试图识别第1段:
data = file.read()
array1 = []
sp = data.split("\n\n")
for number, paragraph in enumerate(sp, 1):
if number == 1:
array1 += [paragraph]
print (array1)没有任何结果..。
我的想法是,我只需要保存在一个文件中的标题(可能是TXT),因为我需要这个列表的另一个用途。
非常感谢!
发布于 2021-03-18 19:07:07
您可以使用.read()读取整个文件,并使用捕获组的模式来匹配JML到Authors。
^JML\s*\|.*\s*\r?\n((?:.*\r?\n)*?)Authors\b模式匹配:
^开始JML\s*\|匹配JML,可选空格字符和|.*\s*\r?\n匹配行的其余部分、可选空格字符和换行符。(捕获组1 (?:.*\r?\n)*?尽可能至少匹配所有行)闭组1Authors\b作者例如:
import os
import re
pattern = r"^JML\s*\|.*\s*\r?\n((?:.*\r?\n)*?)Authors\b"
array1 = []
for file in os.listdir():
with open(file, "r") as data:
array1 = array1 + re.findall(pattern, data.read(), re.MULTILINE)
print(array1)https://stackoverflow.com/questions/66692051
复制相似问题