R-在符号后获取字符

时间:2018-06-23 20:42:08

标签: r regex string

我正在考虑如何在数据框中的符号后获取字符。

14990349-1293
3935033-31

结果应该是

1293
31

我已经创建

substr(df$id,1,as.integer(gregexpr('-',df$id)-1))

但是这会在符号之前返回字符。我找不到一种方法,只能在符号后得到它-

3 个答案:

答案 0 :(得分:4)

我们可以使用sub

as.numeric(sub(".*-", "", df$id))

答案 1 :(得分:1)

通过扩展OP尝试使用substr/substring的另一种方法可以是:

substring(df$id,as.integer(gregexpr('-',df$id))+1) #Detect '-'.Then take all from right of it
#[1] "1293" "31" 

数据:

df <- data.frame(id = c("14990349-1293","3935033-31"), stringsAsFactors = FALSE)

答案 2 :(得分:0)

sapply(strsplit(df$id, "-"), tail, 1)
 "1293" "31"