我正在尝试删除R中某列中字符串中间的两个数字。例如,我想从引用列中删除第4个和第5个字符。前两个数字跟在三个字母后面。
我所拥有的:
Reference
CHM2001011805
TBM2010071208
TBM2015050501
TQM2008080202
IRM2007050106
CKM2014090101
IRM1998050106
CHM1998011805我想要的:
Reference
CHM01011805
TBM10071208
TBM15050501
TQM08080202
IRM07050106
CKM14090101
IRM98050106
CHM98011805我找到了几个代码,可以删除字符串的开头或结尾,以及下面的代码。Remove middle part of string in R
但只有当前后的数字/字符是常量时,这才有效。
发布于 2021-03-20 02:04:10
我们可以使用sub来捕获前3个字符(在括号内),并通过指定捕获的组(\\1)的反向引用(\\1)来删除后两个字符
df1$Reference <- sub("^(...)..", "\\1", df1$Reference)
df1$Reference
#[1] "CHM01011805" "TBM10071208" "TBM15050501" "TQM08080202" "IRM07050106" "CKM14090101" "IRM98050106" "CHM98011805"数据
df1 <- structure(list(Reference = c("CHM2001011805", "TBM2010071208",
"TBM2015050501", "TQM2008080202", "IRM2007050106", "CKM2014090101",
"IRM1998050106", "CHM1998011805")), class = "data.frame", row.names = c(NA,
-8L))https://stackoverflow.com/questions/66713447
复制相似问题