我有一个字符向量,其中每个条目都是这样的:
"ABC1:123_CDE/CDE"
我想编写一个匹配ALL和ONLY字符尾部“_”的正则表达式,以便我得到:
ABC1:123
我尝试了"^_$|[CDE/]"
,但似乎也选择了初始C.
如果你设置perl = TRUE
,我会在某处读到可以在R中使用lookbehind,但我对Perl正则表达式匹配也不是很熟悉。
非常感谢,如果有一些显而易见的东西,我会道歉
答案 0 :(得分:1)
sub("_.*", "", "ABC1:123_CDE/CDE")
#[1] "ABC1:123"
答案 1 :(得分:0)
在_
.*(?=_)
答案 2 :(得分:0)
您可以使用不使用正则表达式的拆分方法,因为您正在查找文字字符:
(Perl的)
my @res = split('_', $str, 2);
print $res[0];
(R语言)
strsplit("ABC1:123_CDE/CDE", "_", TRUE)[[1]][1]