【问题标题】:python removing references from a scientific paperpython从科学论文中删除参考文献
【发布时间】:2016-10-08 19:31:59
【问题描述】:

注意:我对正则表达式缺乏经验。

我希望能够将科学文章转换为 iTunes 曲目。为此,我将文本复制并粘贴到 txt 文件中,并将它们转换为语音曲目。但是,当我这样做时,参考文献被包括在内,并且计算机的声音会大声朗读它们,例如“(Smith J. et al. 2016)”,这很烦人,因为我希望它跳过括号中包含参考的任何内容。 因此,我想制作一个 python 脚本,在将 txt 文件转换为语音轨道之前从 txt 文件中删除所有这些引用。 我认为我可以使用以下代码来做到这一点:

start_ref=find("(")
finish_ref=find(")", start_ref)
# then remove all pieces of the string between each start and finish 

但这还不够准确。相反,我想以某种方式使用正则表达式。

有人可以向我展示一些示例代码,说明我将如何从以下文本中迭代删除引用(同时考虑不同的引用样式,例如哈佛与 APA 等):

“该方法已被证明优于先前讨论的方法 (Smith, J. et al., 2014)虽然它有缺点,但很明显 利大于弊(Jones, A. & Karver, B., 2009 年,Lubber, H. 等人,2013 年)。”

谁能提供一些示例代码?

【问题讨论】:

  • 我认为您需要的不仅仅是一个正则表达式来区分引用和其他括号短语。
  • 呼应@chepner 的评论,正则表达式可能还不够。您可能想看看自然语言处理。
  • 只满足一种不同的风格 - 哈佛 APA - 本身已经是一个相当大的挑战。轻率地试图抓住两者只会导致更多的错误匹配。
  • 是的,从这些 cmets 来看,问题比想象的要复杂。下面的两个答案都适用于我在问题中给出的示例字符串,但是当涉及到实际的整篇论文时,这两个解决方案都不起作用....好吧,无论如何谢谢

标签: python string


【解决方案1】:

类似

 import re
 text = ...
 re.sub(r'\((?:[\w \.&]+\, )+[0-9]{4}\)', text)

似乎做到了。 您可以使用Debuggex 来训练自己的正则表达式。

【讨论】:

    【解决方案2】:

    这应该可以解决问题:

    import re
    
    a = "This method has been shown to outperform previously discussed methods (Smith, J. et al., 2014) and while it has its draw-backs, it is clear that the benefits outweigh the disadvantages (Jones, A. & Karver, B., 2009, Lubber, H. et al., 2013)."
    
    a = re.sub(r"\s\([A-Z][a-z]+,\s[A-Z][a-z]?\.[^\)]*,\s\d{4}\)", "", a)
    

    它用“”(即什么都没有)替换每个由空格组成的字符串,(,一个大写字母后跟一个或多个小写字母(即名称),逗号,空格,一个大写字母和一个点(可选用小写字母分隔,例如 Christine 将被删节为Ch.),然后是右括号,直到我们到达逗号、空格、四位数字和右括号。总而言之,它假设所有看起来像(Azdfs, E. stuff 2343) 的东西都应该被删除。我认为这应该足以避免过度检测。

    我的代码得到的输出是This method has been shown to outperform previously discussed methods and while it has its draw-backs, it is clear that the benefits outweigh the disadvantages.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-22
      • 2014-09-29
      • 1970-01-01
      • 2016-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      相关资源
      最近更新 更多