在特定值之前消除data.frame中的字符

在特定值之前消除data.frame中的字符,r,dataframe,R,Dataframe,我有一个文件,第一列名为“ID”。此列包含我只需要最后一列的信息 k__古菌;欧里亚尔恰埃奥塔;甲烷杆菌;o___甲烷杆菌;甲烷杆菌 我想删除“f__;”之前的所有字符,在第一列中只保留“Methanobacteriacea” 使用R的简单方法是什么?一个选项是sub。我们匹配零个或多个字符(*),后跟,然后将其替换为空白(“”) 如果我们需要从f\uuuuu,则捕获从f开始的字符作为一个组,并将其替换为该组的反向引用(\\1) 数据 str1 sub(".*;f__", "", str1) #

我有一个文件,第一列名为“ID”。此列包含我只需要最后一列的信息

k__古菌;欧里亚尔恰埃奥塔;甲烷杆菌;o___甲烷杆菌;甲烷杆菌

我想删除“f__;”之前的所有字符,在第一列中只保留“Methanobacteriacea”


使用R的简单方法是什么?

一个选项是
sub
。我们匹配零个或多个字符(
*
),后跟
,然后将其替换为空白(
“”

如果我们需要从
f\uuuuu
,则捕获从
f
开始的字符作为一个组,并将其替换为该组的反向引用(
\\1

数据
str1
sub(".*;f__", "", str1)
#[1] "Methanobacteriacea"
sub(".*;(f__.*)", "\\1", str1)
#[1] "f__Methanobacteriacea"
str1 <- "k__Archaea;p__Euryarchaeota;c__Methanobacteria;o__Methanobacteriales;f__Methanobacteriacea"