我的数据看起来像这样
v1 v2
phenzine.MO.4213121906560.C02.name 2.376140e-05
dnium.bte.MO.02400072107987.E10.name 2.423254e-05
trene.MO.024213121906564.C09.name 2.438986e-05
tilli.MO.550760072207033.F09.name 2.495574e-05
tnolone.MO..614615111406.name 2.511859e-05
我想删除第一列的部分,然后它将在下面
v1 v2
phenzine 2.376140e-05
dnium.bte 2.423254e-05
trene 2.438986e-05
tilli 2.495574e-05
tnolone 2.511859e-05
我知道我必须使用grep或sub但是我不能这样做
答案 0 :(得分:1)
如果' MO&#39>你可以试试下面的正则表达式。所有元素都很常见
df1$v1 <- sub('\\.MO.*', '', df1$v1)
假设您要从.
后面跟着第一个大写字母
sub('\\.[A-Z].*', '', df1$v1)
#[1] "phenzine" "dnium.bte" "trene" "tilli" "tnolone"
或者如果它更具体
sub('\\.(MO|NO|NR).*', '', df1$v1)
#[1] "phenzine" "dnium.bte" "trene" "tilli" "tnolone"