根据这里的建议: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
如何在此字符串中找到$
的位置?
答案 0 :(得分:9)
问题是$
是正则表达式中的字符串结束标记。试试这个:
> gregexpr(pattern ='\\$',"data.frame.name$variable.name")
[[1]]
[1] 16
attr(,"match.length")
[1] 1
attr(,"useBytes")
[1] TRUE
...给出了正确答案 - 即16
。
答案 1 :(得分:3)
以下是使用strsplit
和which
> which(strsplit("data.frame.name$variable.name", "")[[1]]=="$")
[1] 16