3

根据这里的建议: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

你如何找到$这个字符串中的位置?

4

2 回答 2

9

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

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

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

于 2013-10-06T23:10:05.670 回答
3

这是使用strsplit和的一种解决方案which

> which(strsplit("data.frame.name$variable.name", "")[[1]]=="$")
[1] 16
于 2013-10-06T23:08:07.617 回答