首页 > 解决方案 > 检测并替换字符串中的多个前导零

问题描述

我正在使用地址数据库。为了进一步清理,我需要识别存储在包含门号的字符串中的前导零。因此,一个干净且友好的案例将类似于7/5- 其中 7 是门牌号,5 是门牌号。

问题在于,在某些情况下,涉及前导零 - 不仅在字符串的开头,而且在中间。当然,也有“正常”和必要的零。所以我可以有一个类似的地址7/50,零完全可以,应该留在那里。但我也可以有007/05,所有的零都需要消失。所以我能想到的唯一模式是检查在那个零之前是否有一个大于零的数字。如果不是,则删除该零,如果是,则保留它。

有什么功能可以实现这样的功能吗?或者这需要定制的东西吗?感谢您的任何建议!

标签: rstringr

解决方案


您可以尝试使用以下基本 R 选项的代码gsub

> gsub("\\b0+", "", s)
[1] "1/1001001" "7/50"      "7/50"      "7/5"       "7/5"

给定

s <- c("01/1001001", "07/050", "0007/50", "7/5", "007/05")

推荐阅读