在字符串中查找$的位置

时间:2013-10-06 23:04:43

标签: regex string r

根据这里的建议:Find location of character in string,我尝试了这个:

> gregexpr(pattern ='$',"data.frame.name$variable.name")
[[1]]
[1] 30
attr(,"match.length")
[1] 0
attr(,"useBytes")
[1] TRUE

但它没有奏效;注意:

> nchar("data.frame.name$variable.name")
[1] 29

如何在此字符串中找到$的位置?

2 个答案:

答案 0 :(得分:9)

问题是$是正则表达式中的字符串结束标记。试试这个:

> gregexpr(pattern ='\\$',"data.frame.name$variable.name")
[[1]]
[1] 16
attr(,"match.length")
[1] 1
attr(,"useBytes")
[1] TRUE

...给出了正确答案 - 即16

答案 1 :(得分:3)

以下是使用strsplitwhich

的解决方案
> which(strsplit("data.frame.name$variable.name", "")[[1]]=="$")
[1] 16