gpt4 book ai didi

r - 提取第三组括号之间的字符串

转载 作者:行者123 更新时间:2023-12-01 09:48:50 26 4
gpt4 key购买 nike

我希望提取第三组括号之间的 string 部分,最好使用基 R。这是一个示例数据集:

my.data <- read.table(text = '
my.num my.string my.cov
1 Abc(~1)Fgf(~-1+e2:cp)Bca(~-1+g1+g2:ti+g2:cfi+g2:pp+g2:cp)q(~-1+re:se) 10
2 Abc(~1)Fgf(~-1+e1:e2:fi)Bca(~-1+g1+g2:ti+g2:pr+g2:ts+g2:cfi)q(~1) 20
3 Abc(~1)Fgf(~1)Bca(~-1+g1+g2+g2:cp)q(~-1+re:se) 15
', header = TRUE, stringsAsFactors = FALSE)
my.data

这两个结果中的任何一个都会有帮助:

desired.result1 <- read.table(text = '
my.num my.string my.cov
1 Bca(~-1+g1+g2:ti+g2:cfi+g2:pp+g2:cp) 10
2 Bca(~-1+g1+g2:ti+g2:pr+g2:ts+g2:cfi) 20
3 Bca(~-1+g1+g2+g2:cp) 15
', header = TRUE, stringsAsFactors = FALSE)
desired.result1

desired.result2 <- read.table(text = '
my.num my.string my.cov
1 ~-1+g1+g2:ti+g2:cfi+g2:pp+g2:cp 10
2 ~-1+g1+g2:ti+g2:pr+g2:ts+g2:cfi 20
3 ~-1+g1+g2+g2:cp 15
', header = TRUE, stringsAsFactors = FALSE)
desired.result2

我对 regex 很生疏,我什至不知道从哪里开始,也无法在互联网上找到类似的问题。感谢您提供任何建议或帮助。

最佳答案

使用strsplit:

sapply(strsplit(my.data$my.string, split = "(", fixed = TRUE), function(i){
strsplit(i[4], split = ")", fixed = TRUE)[[1]][1]})

# [1] "~-1+g1+g2:ti+g2:cfi+g2:pp+g2:cp" "~-1+g1+g2:ti+g2:pr+g2:ts+g2:cfi" "~-1+g1+g2+g2:cp"

关于r - 提取第三组括号之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42354232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com