R检测数字长度模式并添加连字符

时间:2017-10-03 19:09:06

标签: r regex

我有以下类型的地址。如果前两个数字符合确切的长度,我想添加一个连字符。

因此,如果地址模式如下所示:{2} {3},则在两个数字之间添加“ - ”:

12 123 SESAME ST.

12-123 SESAME ST.

1 个答案:

答案 0 :(得分:3)

怎么样

str <- "12 123 SESAME ST."
gsub("\\b(\\d{2}) (\\d{3})\\b","\\1-\\2", str)
# [1] "12-123 SESAME ST."

&#34; \ d {}&#34;零件匹配一定数量的数字和&#34;()&#34;抓住那些比赛。 &#34; \ b&#34;部分确保这些模式出现在单词边界。然后在更换期间,&#34; \ 1和&#34; \ 2&#34;部分是指比赛的捕获部分,我们只是在中间插入一个短划线。