gpt4 book ai didi

google-sheets - 从 APA 引文中提取文本

转载 作者:行者123 更新时间:2023-12-02 06:13:26 24 4
gpt4 key购买 nike

我有一个包含 APA 引文样式文本的电子表格,我想将它们分成作者日期标题

引用的一个例子是:

Parikka, J. (2010). Insect Media: An Archaeology of Animals and Technology. Minneapolis: Univ Of Minnesota Press.

鉴于此字符串位于字段 I2 中,我设法执行以下操作:

名称:=LEFT(I2, FIND("(", I2)-1) 产生 Parikka, J.

日期:=MID(I2,FIND("(",I2)+1,FIND(")",I2)-FIND("(",I2)-1) 产生 2010

但是,我无法提取标题的名称昆虫媒体:动物和技术考古学。

仅限我当前的公式 =MID(I2,FIND(").",I2)+2,FIND(").",I2)-FIND(".",I2))部分返回标题 - 输出应显示 ). 和以下 ..

之间的每个字符

我尝试了 =REGEXEXTRACT(I2, "\)\.\s(.*[^\.])\.\s") 这通常有效,但不会在第一次停止“.” - 就像这个例子一样:

Sanders, E. B.-N.、Brandt, E. 和 Binder, T. (2010)。用于组织参与式设计的工具和技术的框架。第 11 届双年度参与式设计 session 论文集(第 195-198 页)。 ACM。检索自http://dl.acm.org/itation.cfm?id=1900476

哪里错了?

最佳答案

可以通过以下方式找到标题(至少在您给出的两个示例中):

=MID(I2,find("). ",I2)+3,find(". ",I2,find("). ",I2)+3)-(find("). ",I2)+3)+1)

英语:获取从第一次出现 ). 开始的子字符串,直到并包括第一次出现 . 后面的内容。

如果您希望使用REGEXEXTRACT,那么这可以工作(在您的两个示例中)。 (您还可以看到 Regex101 demo 。):

=REGEXEXTRACT(I3,"(?:.*\(\d{4}\)\.\s)([^.]*\.)(?: .*)")

Where is the mistake?

在您的表达式中,您捕获了(.*[^\.]),其中贪婪地包含任意数量的字符,后跟字符类中的字符not(反斜杠或点),表示可以捕获多个句子。表达式以 \.\s 结尾,但未被捕获,因此捕获组将在句号后空格之前结束,而不是包含它。 p>

关于google-sheets - 从 APA 引文中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38175489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com