从R中的字符串中间提取特定字符

从R中的字符串中间提取特定字符,r,gsub,R,Gsub,我有类似的东西 st1 <- "psi-mi:pcgf1_human(display_long)|uniprotkb:RING finger protein 68(gene name synonym)|uniprotkb:Nervous system Polycomb-1(gene name synonym)|uniprotkb:PCGF1(gene name)|psi-mi:PCGF1(display_short)|uniprotkb:NSPC1(gene name synonym)|u

我有类似的东西

st1 <- "psi-mi:pcgf1_human(display_long)|uniprotkb:RING finger protein 68(gene name synonym)|uniprotkb:Nervous system Polycomb-1(gene name synonym)|uniprotkb:PCGF1(gene name)|psi-mi:PCGF1(display_short)|uniprotkb:NSPC1(gene name synonym)|uniprotkb:RNF68(gene name synonym)"
我希望在(基因名)前面显示字符,即PCGF1,我们可以尝试使用
sub()

name我们可以尝试使用
sub()


前面的名称
“(基因名称)”
和后面的名称
“uniprotkb:”
?感谢编辑
“(基因名称)”前面的编辑
和后面的编辑
“uniprotkb:”
?感谢编辑使用
gsub没有意义,因为您正在执行一次更换操作
sub
就足够了。使用
gsub
没有意义,因为您只执行一次更换操作<代码>子项
就足够了。
"PCGF1"
name <- sub(".*:([^:]*?)\\(gene name\\).*", "\\1", st1)