如何在R语言中提取括号日期后两个句号间的标题子串
提取参考文献中的文章标题
你可以在已有的代码基础上,借助stringr包的正则匹配功能,精准提取年份括号后两个句号之间的文章标题。直接在mutate里新增title字段即可:
library(dplyr) library(stringr) # 示例数据 refs <- data.frame(reference = "Harris P R, Harris D L (1983). Training for the Metaindustrial Work Culture. Journal of European Industrial Training, 7(7): 22.") # 提取作者、年份、标题 refs <- refs %>% mutate( author = sub("\\(.*", "", reference), year = str_extract(reference, "\\d{4}"), title = str_extract(reference, "(?<=\\(\\d{4}\\)\\.\\s).*?(?=\\.)") )
正则表达式说明
(?<=\\(\\d{4}\\)\\.\\s):正向预查,定位到年份(比如(1983))后面的句号和空格,确保只匹配这之后的内容.*?:非贪婪模式匹配任意字符,避免错误匹配到后面的期刊信息(?=\\.):正向预查,确保匹配到下一个句号就停止,刚好截取两个句号之间的标题部分
运行后refs$title的结果就是:Training for the Metaindustrial Work Culture,完全符合需求。
内容的提问来源于stack exchange,提问作者aterhorst
相关产品推荐
相关产品推荐

