我有以下字符串:
x <- "sim_K1000_human_compact"
如何将1000
和human
以及compact
捕获为
向量?
我尝试了这个,但没有用:
> strsplit(base, "sim_K([0-9]+)_(\\w+)_(\\w+)")
[[1]]
[1] ""
答案 0 :(得分:5)
您可以使用stringr::str_match
:
str_match(x, "sim_K([0-9]+)_(\\w+)_(\\w+)")[,-1]
# [1] "1000" "human" "compact"
答案 1 :(得分:1)
这是一个潜在的基础解决方案:
x <- unlist(strsplit(gsub("sim_K", "", x), "_"))
答案 2 :(得分:1)
我们可以将scan
与sub
scan(text=sub("^[^_]+_.", "", x), what ="", quiet=TRUE, sep="_")
#[1] "1000" "human" "compact"