如果我的字符串具有格式为
的给定日记参考ref="Carlson, A., Bernier, U.R., Hogsette, J.A., and Sutton, B.D. 2001. Distinctive hydrocarbons of the black dump fly, Hydrotaea aenescens (Diptera: Muscidae). Arch. Insect Biochem. Physiol. 48:167-178."
然后我想在R中提出好的gsub
表达式来提取第一作者,期刊和卷加页。这一年和作者我已经想出了
year=strsplit(sub('^\\D*', '',ref),". ")[[1]][[1]]
year
"2001"
author=gsub("[^a-zA-Z0-9 ]","",strsplit(ref,"\\., ")[[1]][[1]])
author
"Carlson A"
但是我无法为期刊以及卷和页面找到一个好的表达方式。或许有人想过吗? (理想情况下,卷和页面应该被检测为包含数字,句号或冒号的字符串的最后一个字符,并且日志应该包含在第一次删除之后位于年份和卷+页面之间的部分。年度(加上句号)和下一个句号之间的第一部分,应该是标题)
欢呼,汤姆答案 0 :(得分:1)
此处无需使用gsub
,只需strsplit
。这应该是一个好的开始:
ll <- unlist(strsplit(ref,','))
ll[1]
[1] "Carlson"
strsplit(tail(ll,1),'[.]')
[[1]]
[1] " Hydrotaea aenescens (Diptera: Muscidae)" " Arch"
[3] " Insect Biochem" " Physiol"
[5] " 48:167-178"