假设一个向量:
xx.1 <- c("zz_ZZ_uu_d", "II_OO_d")
我想得到一个从最右边分裂的新向量,并且只分裂一次。预期结果将是:
c("zz_ZZ_uu", "d", "II_OO", "d").
这就像python的rsplit()
函数。我目前的想法是反转字符串,并用str_split()
in分割stringr
。
有更好的解决方案吗?
更新
这是我返回 n 个拆分的解决方案,具体取决于 stringr 和 stringi。有人提供具有基本功能的版本会很好。
rsplit <- function (x, s, n) {
cc1 <- unlist(stringr::str_split(stringi::stri_reverse(x), s, n))
cc2 <- rev(purrr::map_chr(cc1, stringi::stri_reverse))
return(cc2)
}