r - 如何从向量中提取最后一次出现的特定 'string'

标签 r string find-occurrences

我有一个由多个二进制数组成的向量。由于这些已经被过滤,所以也知道所有都大于 0。

v <- c(1, 10, 11, 110, 10000, 101000, 100100000, 100001)

现在我想要一个 result_vector (向量,因为输入向量是数据框中的一列)给我向量 1 最后一次出现的位置/位置>v。我正在尝试 stringr::str_locate(as.Charachter(v), "1")[,2] 但它给了我这个向量第一次出现的结束位置。 stringr::str_locate_all 在列表中给出结果,因此在上下文中没有用处。而且,我想要这个位置从倒数开始。但是,如果我可以从左侧提取位置,则可以通过从 nchar(as.Charachter(v)) 中减去该位置来转换为反向。请指导我如何才能得到类似的结果

result_vector = c(1, 2, 1, 2, 5, 4, 6, 1)

最佳答案

一个stringi选项可能是:

stri_locate_first(stri_reverse(v), fixed = "1")[, 1]

[1] 1 2 1 2 5 4 6 1

关于r - 如何从向量中提取最后一次出现的特定 'string',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64641268/

相关文章:

php - 字符串开头(字母之前)有多少次 "-"

python - 打印包含和排除停用词的文本中 10 个最常出现的词

r - 使用 R 开发地理专题图

r - 在 R 中通过 allocate() 连接的变量名和值上使用 save()

r - R 中的函数注释约定

java - Java 中字符串比较错误

java - 我的程序不会要求用户输入文件中出现的事件

R 如何使我的包裹在线可用

Java - 分割字符串

python - 替换某些索引处的字母