R 从 str_split 中获取最后一个元素
R get last element from str_split
我有一个 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")
谢谢
我们可以用 sapply
遍历 list
并用 tail
得到最后一个元素的 'n' 个数
sapply(Split, tail, 1)
#[1] "STRING" "STRING"
如果只有一个字符串,那么请使用[[
将list
转换为vector
并使用tail
获取最后一个元素
tail(Split[[1]], 1)
正如对您问题的评论所暗示的,这适用于 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" ""
我有一个 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")
谢谢
我们可以用 sapply
遍历 list
并用 tail
sapply(Split, tail, 1)
#[1] "STRING" "STRING"
如果只有一个字符串,那么请使用[[
将list
转换为vector
并使用tail
tail(Split[[1]], 1)
正如对您问题的评论所暗示的,这适用于 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" ""