我正在尝试使用python自动将科学论文的pdf从一种命名模式重命名为另一种命名模式。
pdf文件的命名模式如下所示:
Cresswell, K., Worth, A., &谢赫,A.(2011)。实现和采用电子健康档案系统。临床治理- an国际杂志。
。"LastName1, FirstLetterGivenName1。, LastName2, FirstLeterGivenName2。,[…]。(年)。标题。杂志!">
这个示例的名称模式应该重命名为如下所示:cresswell_k_2011_实现与采用
。e"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_实现与采用