我希望使用像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 "
谢谢!
答案 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