正则表达式替换字符串中的至少5位数

时间:2016-10-31 02:30:51

标签: r regex

我的数据框中有一列,其地址是单位/门牌号码,街道名称,地点,邮政编码和电话号码的组合。

邮政编码是一个四位数字。

以下是一个例子:

"26A JULIA STREET ANYTOWN 8523 71245632"

我想删除电话号码但保留邮政编码和其他号码:

"26A JULIA STREET ANYTOWN 8523"

我尝试了以下内容:

str_replace(string=field_name$ADDRESS, pattern="\\d{5,}", replacement="")

它不会删除电话号码。任何人都可以指出我出错的地方。

1 个答案:

答案 0 :(得分:3)

我个人喜欢stringi包的额外细节(无论如何stringr只包装它):

library(stringi)
library(magrittr)

field_name <- data.frame(ADDRESS="26A JULIA STREET ANYTOWN 8523 71245632", stringsAsFactors=FALSE)

stri_replace_last_regex(field_name$ADDRESS, "[[:digit:]]{5,}", "") %>% 
  stri_trim()
## [1] "26A JULIA STREET ANYTOWN 8523"