很抱歉,这很糟糕,因为我似乎找不到解决方法。假设我有一个向量。
162_562-5_ZE5_ONE
163_662-5_AE5_ZERO
但是,我想删除除ZE5和AE5以外的所有样式,并附加AC。在前。有没有办法grep这个并保留字符串的一部分,以便我可以在它后面添加一些内容。理想情况下,新向量将仅返回AC.ZE5,AC.AE5。我本来可以做两个gsub
,但我想知道是否可以保留搜索的特定部分并附加一些内容。谢谢!
答案 0 :(得分:3)
我们可以在基数R中使用sub
,提取"ZE5"
或"AE5"
并在每个数字的开头添加"AC."
。
sub(".*(ZE5|AE5).*", "AC.\\1", x)
#[1] "AC.ZE5" "AC.AE5"
如@Ahdee所述,一种更通用的解决方案是
sub("^\\d.*-\\d_(.*?)_.*", "AC.\\1", x)
数据
x <- c("162_562-5_ZE5_ONE", "163_662-5_AE5_ZERO")
答案 1 :(得分:0)
我正在尝试学习这一点。我想知道您是否还可以使用stringr
:
x <- c("162_562-5_ZE5_ONE", "163_662-5_AE5_ZERO")
paste0("AC.", stringr::str_extract(x, "ZE5|AE5"))