1
2
这将剥去字符串前面的任何内容,直到它碰到一个字母:
如果有可能有“221B贝克街”之类的东西,那么你必须使用更复杂的东西。这应该有效:
|
2
2
组匹配:
如果您还需要考虑公寓号码:
它可以处理123A街道名 只要字符串中没有其他数字,就应该去掉前面的数字(和空格)。只需捕获第一组(.*) |
3
1
还有另一组叠加溢出的答案: Parse usable Street Address, City, State, Zip from a string 我认为google/yahoo解码器的方法是最好的,但取决于你谈论的地址的频率/数量-否则,选择的答案可能是最好的 |
4
1
街道名称也可以是数字吗?例如。
甚至
你可以处理上面的第一个案例,但第二个案例很困难。 我将在空格中拆分地址,跳过不包含字母的任何前导组件,然后联接其余部分。我不知道Ruby,但下面是一个Perl示例,它也突出了我的方法的问题:
|
5
1
哎哟!如果不使用标准化的地址,那么自行解析地址会非常麻烦。这样做的原因是,通常称为门牌号的“主号码”可以位于字符串中的不同位置,例如:
这不是一个微不足道的小题大做。根据应用程序的需要,您最好 精确的 信息是使用地址验证Web服务。有少数供应商提供这种功能。 为了全面披露,我是SmartyStreets的创始人。我们有一个 address verification web service API 这将验证和标准化您的地址,以确保它是真实的,并允许您获得主/门牌号部分。非常欢迎您亲自与我联系,提出问题。 |
6
0
|
7
0
为了将来参考,帮助regex的一个很好的工具是 http://www.rubular.com/ |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
Katia · 根据特定规则进行多行匹配 2 年前 |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |