【发布时间】:2018-01-05 17:56:41
【问题描述】:
我在 stackoverflow 上发现了类似的问题,但不完全是我想要的。我有一个像这样的向量:
x <- c('w/x/y/z', 'x/y/z', 'y/z')
我想返回一个向量,它为我提供最后一个 / 之前和任何其他 / 之前的字符串(在我的真实数据中,比 1 个字母更长的字符串)。所以,这个输出将是:
y <- c('y', 'y', 'y')
我曾尝试使用 strsplit 和 tail 以 / 分割并返回最后 2 项,但不知道如何只获取倒数第二项。
y <- sapply(lapply(spl, tail,2), paste, collapse = '/')
y
[1] "y/z" "y/z" "y/z"
【问题讨论】:
-
是的,我想选择最后一个 / 符号和它之前的 / 之间的字符串。但是,并不总是有 / 优先(如第三个字符串,'y/z')。