我有学术文章的摘要。有时,摘要将包含类似"目的的文章。本文探讨了......"或"设计/方法/方法我们研究的设计......"。我称之为"目的"和"设计/方法/方法"标签。我希望字符串看起来像这样:[label] [:] [space]。例如:"目的:本文探讨了......"
当原始字符串在标签和文本之间留有空格时,下面的代码会获得我想要的结果(例如"目的本文探讨了......"。但我不会'理解为什么它在没有空间的情况下也不起作用。请问我需要对下面的代码做什么,以便标签按照我想要的方式进行格式化,即使原始文本之间没有空格也是如此。标签和文本?请注意我导入了re.sub。
def clean_abstract(my_abstract):
labels = ['Purpose', 'Design/methodology/approach', 'Methodology/Approach', 'Methodology/approach' 'Findings', 'Research limitations/implications', 'Research limitations/Implications' 'Practical implications', 'Social implications', 'Originality/value']
for i in labels:
cleaned_abstract = sub(i, i + ': ', cleaned_abstract)
return cleaned_abstract
答案 0 :(得分:0)
labels = ['Purpose', 'Design/methodology/approach', 'Methodology/Approach', 'Methodology/approach' 'Findings', 'Research limitations/implications', 'Research limitations/Implications' 'Practical implications', 'Social implications', 'Originality/value']
strings = ['PurposeThis article explores....', 'Design/methodology/approachThe design of our study....']
print [l + ": " + s.split(l)[1].lstrip() for l in labels for s in strings if l in s]
[
'Purpose: This article explores....',
'Design/methodology/approach: The design of our study....'
]
使用this帖子中的逻辑。
print []
返回结果列表l + ": " + s.split(l)[1].lstrip()
创建我们的字符串
l
解释如下:
字面意思s.split(l).lstrip()
在s
上拆分l
并删除字符串左侧的任何空格for l in labels
将labels
设置l
的次数设置为每次迭代时的值for s in strings
将strings
设置s
的次数设置为每次迭代时的值if l in s
如果在l
s