假设我有"var"
和"var[1]"
等字符变量。如何检测角色中是否有运算符[]
?
我一直在调查strsplit
和agrep
,但到目前为止没有成功..
非常感谢!
答案 0 :(得分:2)
琐碎的正则表达式转义特殊字符:
> x=c("var","var[1]")
> grepl("\\[",x)
[1] FALSE TRUE
阅读正则表达式:help(regexp)
答案 1 :(得分:1)
获取带有索引的值:
x <- "var[22]"
m <- regexpr("\\[.*\\]", x, perl=TRUE)
> regmatches(x, m)
[1] "[22]"
或者获取值:
> grep("\\[.*\\]", c("var[2]"), perl=TRUE, value=TRUE)
[1] "var[2]"
获取索引:
> grep("\\[.*\\]", c("var[2]"), perl=TRUE, value=FALSE)
[1] 1