我有一个R字符串列表,我想得到每个
的最后一个元素require(stringr)
string_thing <- "I_AM_STRING"
Split <- str_split(string_thing, "_")
Split[[1]][length(Split[[1]])]
但我怎么能用字符串列表来做呢?
require(stringr)
string_thing <- c("I_AM_STRING", "I_AM_ALSO_STRING_THING")
Split <- str_split(string_thing, "_")
#desired result
answer <- c("STRING", "THING")
由于
答案 0 :(得分:8)
我们可以使用list
遍历sapply
,并使用tail
sapply(Split, tail, 1)
#[1] "STRING" "STRING"
如果只有一个字符串,请使用[[
将list
转换为vector
,并使用tail
tail(Split[[1]], 1)
答案 1 :(得分:6)
正如您对问题的评论所示,这适用于gsub
:
gsub("^.*_", "", string_thing)
我建议您也注意以下情况。
string_thing <- c("I_AM_STRING", "I_AM_ALSO_STRING_THING", "AM I ONE", "STRING_")
gsub("^.*_", "", string_thing)
[1] "STRING" "THING" "AM I ONE" ""