我有x = c("AU|30|3020","AU|15|1510","AU|2000|510")
。
如果我想知道x中每个元素的最后一个“|”的位置,我该怎么做。答案应该是6 6 8.
一个可接受的替代方案是找到(比方说)第二个“|”的位置对于每个元素(与最后一个“|”相对)。
答案 0 :(得分:2)
您可以使用以下命令获取最后|
的位置(与|
s的总数无关):
unlist(gregexpr("\\|[^|]*$", x))
# [1] 6 6 8
答案 1 :(得分:0)
总是有2 |
吗?如果是的话
unlist(lapply(gregexpr("\\|",x),"[[",2))
否则您可能需要解决方法。另外,请查看stringr
包