【问题标题】:Parse title from citation [closed]从引文解析标题[关闭]
【发布时间】:2018-10-05 17:42:13
【问题描述】:

我正在解析导入到 Google 表格中的引文。数据看起来像

9. Chowen JA, de Fonseca FR, Alvarez E, Navarro M, Garcia-Segura LM, Blazquez E. Increased glucagon-like peptide-1 receptor expression in glia after mechanical lesion of the rat brain. Neuropeptides. 1999;33(3):212-5.

我想提取标题,例如

大鼠脑机械损伤后胶质细胞中胰高血糖素样肽-1受体表达增加。

当我尝试查找并替换为 ^.*. 时,只剩下最后一句 (1999;33(3):212-5.)。

如何删除直到第二个句点和第三个句点之后的字符?

【问题讨论】:

  • 你怎么知道在任何后续引用中没有一个作者的名字中没有句点? (即,您可能需要一个更强大的正则表达式过程,而不是仅在第二个和第三个句号之间保留文本。

标签: regex google-sheets bibliography


【解决方案1】:

我将从您的示例中假设作者的姓名首字母永远不会有句号,并且它们只包含逗号、连字符和空格,并且记录以数字开头,后跟句号,另外还有作者列表以句号结尾。例如,

  1. AB 名称,AB 另一个名称。标题。其他要忽略的东西
  2. AB 史密斯,AB 琼斯-史密斯。标题。更多可忽略的内容

那么就可以使用正则表达式了

^[\d]+\.[\w\s,-]+\.([\w\s\d,-]+)\.

捕捉第二个和第三个句号之间的标题。

要在 Google 表格中实现此功能,请使用

=REGEXEXTRACT(A1,"^[\d]+\.[\w\s,-]+\.([\w\s,-]+)\.")

其中 A1 是包含带有标题的字符串的单元格。

编辑: 我在第一个答案中没有解释的是,提取你想要的部分完全等同于删除你不想要的部分。带有正确正则表达式的 REGEXEXTRACT 通过匹配您要提取的字符串部分并忽略其余部分来做到这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 2012-12-15
    • 2011-02-12
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    相关资源
    最近更新 更多