strsplit 多个定界符 r
Strsplit multiple delimiters r
我想拆分这个基因组坐标:chr1:713625-714625
只有起始坐标:713625
我试过这个命令:
data.table(unlist(lapply(data$gene,function(x)unlist(strsplit(x, [:]))[2])))$V1
但它给了我这个:713625-714625
你有什么建议吗
以下代码提取字符串中 :
和 -
之间的所有内容:
string <- c("chr1:713625-714625")
gsub(".*[:]([^.]+)[-].*", "\1", string)
输出:
[1] "713625"
我尝试了这 2 个命令,它们都给我相同的结果:
gsub(".*[:]([^.]+)[-].*", "\1", string) by Quinten
data.table(unlist(lapply(data$gene,function(x)unlist(strsplit(x, "[:-]"))[2])))$V1
使用strsplit
就差不多了,但应该使用[:-]
或:|-
> unlist(strsplit("chr1:713625-714625", "[:-]"))[2]
[1] "713625"
> unlist(strsplit("chr1:713625-714625", ":|-"))[2]
[1] "713625"
我想拆分这个基因组坐标:chr1:713625-714625
只有起始坐标:713625
我试过这个命令:
data.table(unlist(lapply(data$gene,function(x)unlist(strsplit(x, [:]))[2])))$V1
但它给了我这个:713625-714625
你有什么建议吗
以下代码提取字符串中 :
和 -
之间的所有内容:
string <- c("chr1:713625-714625")
gsub(".*[:]([^.]+)[-].*", "\1", string)
输出:
[1] "713625"
我尝试了这 2 个命令,它们都给我相同的结果:
gsub(".*[:]([^.]+)[-].*", "\1", string) by Quinten
data.table(unlist(lapply(data$gene,function(x)unlist(strsplit(x, "[:-]"))[2])))$V1
使用strsplit
就差不多了,但应该使用[:-]
或:|-
> unlist(strsplit("chr1:713625-714625", "[:-]"))[2]
[1] "713625"
> unlist(strsplit("chr1:713625-714625", ":|-"))[2]
[1] "713625"