从引用中解析标题

时间:2018-10-05 17:42:13

标签: regex google-sheets bibliography

我正在解析导入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.)。

如何删除第二个字符之前和第三个字符之后的字符?

1 个答案:

答案 0 :(得分:1)

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

  1. AB名称,AB另一个名称。标题。其他需要忽略的东西
  2. AB Smith,AB Jones-Smythe。标题。更多需要忽略的东西

然后您可以使用正则表达式

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

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

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

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

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

编辑: 我在第一个答案中没有解释的是,提取所需部分完全等同于删除不需要的部分。具有正确正则表达式的REGEXEXTRACT通过匹配要提取的字符串部分并忽略其余部分来实现此目的。