r中的rfind等价物

时间:2017-06-28 00:31:37

标签: r indexing

我希望使用像python的rfind这样的东西,但是在R.

基本上,我有一个这样的字符串:"Black-crowned Night-Heron - Nycticorax nycticorax",我正在寻找中间连字符的索引(“ - ”)。

最终目标是保存该索引值并使用substr()函数获取子字符串,最终结果只是通用名称:"Black-crowned Night-Heron"

到目前为止,我有newvar = regexpr(" - ", specieslist, fixed = T),然后是substr(specieslist, 1, newvar),但它返回的是常用名称,后面跟一个空格。

那么,我想要的是:"Black-crowned Night-Heron"

而是

"Black-crowned Night-Heron "

谢谢!

1 个答案:

答案 0 :(得分:0)

不确定内置函数,但这似乎可行:

> str.rfind <- function(s, char) { rev(grep(char, unlist(strsplit(s, NULL)), fixed=T))[1]}
> str.rfind('This is nice.', 's')
  [1] 7
> str.rfind('This is nice.', '@')
  [1] NA