首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:如何在列中的所有变量中添加连字符?

R:如何在列中的所有变量中添加连字符?
EN

Stack Overflow用户
提问于 2022-03-17 10:24:11
回答 1查看 207关注 0票数 2

我想在-数据want的FID列中的所有变量中添加一个连字符(在第二个字母之后)。例如,如果变量是AC10,我希望将其更改为AC-10,并将整个列的AC11更改为AC-11

我的尝试:

代码语言:javascript
复制
d$FID <- sub("^(\D+)(\d+).*", "-", d$FID)

> dput(d$FID)
c("AC10", "AC11", "AC12", "AC13", "AC14", "AC15", "AC17", "AC18", 
"AC19", "AC1", "AC20", "AC21", "AC22", "AC23", "AC24", "AC25", 
"AC26", "AC27", "AC29", "AC2", "AC30", "AC31", "AC32", "AC33", 
"AC34", "AC35", "AC36", "AC37", "AC38", "AC39", "AC3", "AC40", 
"AC41", "AC42", "AC43", "AC45", "AC46", "AC47", "AC48", "AC49", 
"AC50", "AC51", "AC52", "AC53", "AC54", "AC55", "AC56", "AC57", 
"AC58", "AC5", "AC60", "AC61", "AC62", "AC63", "AC64", "AC65", 
"AC66", "AC67", "AC69", "AC6", "AC70", "AC71", "AC72", "AC73", 
"AC74", "AC75", "AC76", "AC77", "AC78", "AC79", "AC7", "AC80", 
"AC81", "AC82", "AC83", "AC84", "AC86", "AC87", "AC88", "AC89", 
"AC8", "AC90", "AC91", "AC92", "AC9", "AC100", "AC101", "AC102", 
"AC103", "AC104", "AC105", "AC16", "AC68", "AC93", "AC94", "AC95", 
"AC96", "AC97", "AC99", "DE10", "DE12", "DE13", "DE14", "DE15", 
"DE16", "DE17", "DE18", "DE19", "DE1", "DE20", "DE21", "DE22", 
"DE23", "DE25", "DE26", "DE27", "DE2", "DE33", "DE34", "DE35", 
"DE36", "DE37", "DE38", "DE39", "DE3", "DE40", "DE41", "DE42", 
"DE44", "DE45", "DE46", "DE47", "DE48", "DE49", "DE4", "DE50", 
"DE51", "DE52", "DE53", "DE54", "DE55", "DE56", "DE57", "DE58", 
"DE59", "DE60", "DE7", "DE9", "DE29", "DE30", "DE32", "DE43", 
"DE5")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-17 10:26:30

您可以使用

代码语言:javascript
复制
d$FID <- sub("(\\D)(\\d)", "\\1-\\2", d$FID)

这个regex演示

这里

  • (\D) -第1组(\1):任何非数字
  • (\d) -第2组(\2):任何数字。

您也可以使用

代码语言:javascript
复制
d$FID <- sub("([[:alpha:]])(\\d)", "\\1-\\2", d$FID)

如果[[:alpha:]]与任何字母匹配,。

这个regex演示

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71510703

复制
相关文章

相似问题

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