我有一个字符串向量:
x <- c( "\nFolsom Field, University of Colorado, Boulder, CO (9/3/72)", "\nHollywood Palladium, Hollywood, CA (9/9/72)" )
我想提取事件的位置,城市,州和日期。我已经弄清楚了事件的位置,城市和日期,但是不能正确匹配状态-我遇到的问题是我需要在第二个或第三个逗号之后和第一个括号之前进行匹配。
我尝试过:stateLoc <- regexpr(",{2,}.+?\\(", x) state <- regmatches(x, stateLoc)
但是返回了一个空字符向量。
任何意见表示赞赏,谢谢。
您可以使用一个str_match
调用来提取这些详细信息:
library(stringr)
x <- c("\nFolsom Field, University of Colorado, Boulder, CO (9/3/72)","\nHollywood Palladium, Hollywood, CA (9/9/72)")
> res <- str_match(x, "\\s*([^,]*),\\s*([A-Z]+)\\s*\\(([0-9/]+)\\)")
> res[,2]
[1] "Boulder" "Hollywood"
> res[,3]
[1] "CO" "CA"
> res[,4]
[1] "9/3/72" "9/9/72"
细节
\\s*
-0+空格([^,]*)
-捕获组1:除逗号以外的任何0个或多个字符,
-在段落中\\s*
-0+空格([A-Z]+)
-捕获组2:1个或更多大写字母\\s*
-0+空格\\(
-一个(
字符([0-9/]+)
-捕获组3:1个或多个数字或斜杠\\)
-一个)
字符本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句