【发布时间】:2013-12-14 11:31:01
【问题描述】:
enter code herei 在提取字符串时遇到问题。我想从街道名称+门牌号码中提取街道名称。问题是一些街道名称包含数字。我可以组合多个模式来提取字符串吗?
w<-c("STREET TEST 55A","Q 7 NR 50","STREET TEST TEST 55-56")
place<-c("B" "A" "C")
w<-str_replace(w,perl("^(\\b[0-9]+.*\\b) | \\b([A-Z] ?[0-9] ?N?R?)([0-9]*)\\b"),"\\1")
我想要一个向量
w<-c("STREET TEST","Q 7","STREET TEST TEST)
我也有一个矢量的地方。而Q 7 NR 50的情况只发生在A而不是B/C
提前致谢
【问题讨论】:
-
我怀疑您的实际问题通常可能无法解决,至少除非您的数据仅限于具有常规街道命名和房屋编号约定的小地理区域。您可能假设街道名称通常不包含数字,并为遇到的少数例外情况添加特定规则。即使这样,如果您的数据是全球性的,您可能需要处理额外的问题,即在世界不同地区,约定可能是在门牌号之前、之后或可能之间写下街道名称。此外,房屋可能有名字。