[英]R Regex Address match after /
我正在 R 中构建地址匹配器。我一直在匹配单元地址,例如“22/106 Homer Street”。 我希望能够提取 106
这是正确的正则表达式: (?<=\\/)\\d+
输入 R 为
data$door_number <- str_extract(data$Property_Address,"(?<=\/)\\d+")`
出现错误:
'/' 是字符串中无法识别的转义字符,以
""(?<=\\/"
我尝试了多种斜线组合,但似乎无法在 R 中提取所需的结果。
这是一个替代方案:
somestring<-c("22/106 Homer Street.")
newstring<-sapply(strsplit(somestring,"/"),"[",2)
myaddress<-sapply(str_extract_all(newstring,"\\d{3,}"),"[")
[1] "106"
对于非常大的数据集,它可能不太有用。
我不喜欢您当前的方法,因为如果它出现在您的某些地址字符串中,则仅检查前面的反斜杠会匹配ABC/123
之类的内容。 由于不支持可变宽度的lookbehinds,我建议匹配完整的术语。 使用sub
:
address <- "22/106 Homer Street"
sub(".*\\d/(\\d+).*", "\\1", address)
[1] "106"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.