R根据模式拆分句子

R Split sentence based on pattern

我需要根据地址格式拆分句子。以下是我面临的问题的可重现示例。

 s <- c("Junipero Sierra Room 9001 coals ave","patio room2200 virginia beach ave")

目前,这是我正在使用的

  gsub(".*([A-z]{1,}[0-9]{2,6})|.*([A-z]{1,} [0-9]{2,6})", "\1",s)

这是我得到的,

 [1] " coals ave"               "m2200 virginia beach ave"

但这就是我想要的

[1] "9001 coals ave"         "2200 virginia beach ave"
s <- c("Junipero Sierra Room 9001 coals ave","patio room2200 virginia beach ave")
get.String=function(x){
  sx=unlist(strsplit(x,""))
  st=grep("[0-9]",sx)[1]
  x=substring(x,st,nchar(x))
  return(x)
}
sapply(s,get.String)

看来你只想剪掉[0-9]{2,6}之前的所有内容:

> gsub(".*?([0-9]{2,6})", "\1", s)
[1] "9001 coals ave"          "2200 virginia beach ave"