假设您有一个像这样的字符向量:
x <- c('file_123',
'file_456',
'file_clean_67890',
'123_file_1234')
您要提取最后一个"_"
之后的字符串结尾。你会怎么做?我想要的结果是:
"123" "456" "67890" "1234"
如果使用str_split
,则由于长度不同而无法获得最后一个:
> x %>% str_split(pattern = '_', simplify = T)
[,1] [,2] [,3]
[1,] "file" "123" ""
[2,] "file" "456" ""
[3,] "file" "clean" "6789"
[4,] "123" "file" "1234"
这个问题在某种程度上是this one的重复,不同之处在于由于我不知道分割的数量。另外,您可能在最后一个下划线之前使用数字字符,因此不能仅检测到这些字符。
答案 0 :(得分:0)
将stringr中的str_extract_all与正则表达式一起使用。有关int*
,?regular expression
和[:digit:]
元字符的信息,请参见+
:
$