我有这个字符串:
mystring <- "HMSC-bm_in_ALL_CELLTYPES.distal"
我想要做的是提取定义的子字符串 在这个包围中
[HMSC-bm]_in_ALL_CELLTYPES.[distal]
因此最终它将产生一个具有两个值的向量:HMSC-bm
和distal
。我该怎么做?我尝试了但失败了:
> stringr::str_extract(base,"\\([\\w-]+\\)_in_ALL_CELLTYPES\\.\\([\\w+]\\)")
[1] NA
答案 0 :(得分:3)
我使用str_match
:
library(stringr)
mymatch <- str_match(mystring, "^(.*?)_.*?\\.(.*?)$")
mymatch
[,1] [,2] [,3]
[1,] "HMSC-bm_in_ALL_CELLTYPES.distal" "HMSC-bm" "distal"
mymatch[, 2]
[1] "HMSC-bm"
mymatch[3, ]
[1] "distal"
答案 1 :(得分:2)
我们可以将字符串拆分为_in_ALL_CELLTYPES.
。
strsplit(mystring, split = "_in_ALL_CELLTYPES.")[[1]]
[1] "HMSC-bm" "distal"