首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除R中字符串中间的数字

问删除R中字符串中间的数字
EN

Stack Overflow用户
提问于 2021-03-20 02:02:29
回答 1查看 28关注 0票数 2

我正在尝试删除R中某列中字符串中间的两个数字。例如,我想从引用列中删除第4个和第5个字符。前两个数字跟在三个字母后面。

我所拥有的:

代码语言:javascript
复制
Reference
CHM2001011805
TBM2010071208
TBM2015050501
TQM2008080202
IRM2007050106
CKM2014090101
IRM1998050106
CHM1998011805

我想要的:

代码语言:javascript
复制
Reference
CHM01011805 
TBM10071208
TBM15050501
TQM08080202
IRM07050106
CKM14090101
IRM98050106
CHM98011805

我找到了几个代码,可以删除字符串的开头或结尾,以及下面的代码。Remove middle part of string in R

但只有当前后的数字/字符是常量时,这才有效。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-20 02:04:10

我们可以使用sub来捕获前3个字符(在括号内),并通过指定捕获的组(\\1)的反向引用(\\1)来删除后两个字符

代码语言:javascript
复制
df1$Reference <- sub("^(...)..", "\\1", df1$Reference)
df1$Reference
#[1] "CHM01011805" "TBM10071208" "TBM15050501" "TQM08080202" "IRM07050106" "CKM14090101" "IRM98050106" "CHM98011805"

数据

代码语言:javascript
复制
df1 <- structure(list(Reference = c("CHM2001011805", "TBM2010071208", 
"TBM2015050501", "TQM2008080202", "IRM2007050106", "CKM2014090101", 
"IRM1998050106", "CHM1998011805")), class = "data.frame", row.names = c(NA, 
-8L))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66713447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档