我有一个名为" ID"的第一列的文件。这列有我只需要最后一个的信息。
k__Archaea;p__Euryarchaeota;c__Methanobacteria;o__Methanobacteriales;f__Methanobacteriacea
我想在" f __"之前消除所有字符,仅保留" Methanobacteriacea"在第一栏。
使用R?
执行此操作的简单方法是什么?答案 0 :(得分:0)
一个选项是sub
。我们匹配零个或多个字符(.*
)后跟;
,然后匹配f__
并将其替换为空白(""
)
sub(".*;f__", "", str1)
#[1] "Methanobacteriacea"
如果我们需要f__
,则从f
作为一组捕获字符,并将其替换为该组的反向引用(\\1
)
sub(".*;(f__.*)", "\\1", str1)
#[1] "f__Methanobacteriacea"
str1 <- "k__Archaea;p__Euryarchaeota;c__Methanobacteria;o__Methanobacteriales;f__Methanobacteriacea"