将科学论文 PDF 从一种名称模式重命名为另一种名称模式

Renaming scientific paper PDFs from one name pattern to another name pattern

我正在尝试使用 python 自动将科学论文的 PDF 从一种名称模式重命名为另一种名称模式。

PDF 出现的名称模式如下所示:

Cresswell, K., Worth, A., & Sheikh, A. (2011). Implementing and adopting electronic health record systems. Clinical governance- an international journal.

即"LastName1, FirstLetterGivenName1., LastName2, FirstLeterGivenName2., [...]。(年份)。标题。期刊。"

此示例的名称模式应重命名为如下所示:

Cresswell_K_2011_Implementing and adopting

即“LastName1_FirstLetterGivenName1_Year_First3LettersTitle”

遗憾的是我无法将解决方案应用于这个特定问题的类似问题,因为我才刚刚开始编码。

您可以使用正则表达式,例如:

import re

s = "Cresswell, K., Worth, A., & Sheikh, A. (2011). Implementing and adopting electronic health record systems. Clinical governance- an international journal."

p = re.compile(r'(?P<LastName1>[A-Za-z]+),\s+(?P<GivenName1>[A-Za-z]+)\.?,.+\((?P<Year>\d+)\)\.\s+(?P<Title1>\w+)\s(?P<Title2>\w+)\s(?P<Title3>\w+)')
m = p.search(s)
if m is not None:
    d = m.groupdict()
    result = d['LastName1'] +'_'+ d['GivenName1'][0] +'_'+ d['Year']+ '_'+ d['Title1']+ ' '+ d['Title2'] +' '+ d['Title3']
    print(result)

这给出了输出:

Cresswell_K_2011_Implementing and adopting