我有以下向量c:

ABC-XXX
DEF-4-YYY

我想提取最后一次出现的“-”之前的所有内容,这意味着我将保留此内容
ABC
DEF-4

我尝试了以下方法:
sub([-].*, '', "DEF-4-YYY")

但这会替换第一个“-”之后的所有内容,而应该寻找最后一个“-”。上面命令的输出是:
"DEF"

这是怎么了

最佳答案

我们可以通过匹配sub,然后匹配零个或多个不是-的字符,直到字符串的末尾(-),然后将其替换为空白($)来处理''

sub('-[^-]*$', '', v1)
#[1] "ABC"   "DEF-4"

数据
v1 <- c('ABC-XXX', 'DEF-4-YYY')

关于r - R sub提取字符最后一次出现之前的所有内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48384286/

10-10 00:29
查看更多