【发布时间】:2014-12-22 23:55:43
【问题描述】:
我目前正在规范我们软件上的送货地址和帐单地址。所以基本上我们有一些区域在下订单时,我们的系统会检查账单地址和送货地址是否匹配。如果没有,那么它会自动添加到欺诈队列中。系统工作正常,但是当用户在运输和结算时输入不同的地址时就会出现问题......例如:
Shipping Address = "1209 9th Avenue Circle"
Billing Address = "1209 9th Ave. Circle"
所以我使用正则表达式将地址上的 Avenue to Ave 替换为完整的单词,这样它就可以在我的所有测试用例中使用。跟后面的话我做过类似的事情。
'avenue' : 'ave',
'street' : 'st',
'boulevard': 'blvd',
'parkway': 'pkwy',
'highway': 'hwy',
'drive': 'dr',
'place': 'pl',
'expressway': 'expy',
'heights': 'hts',
'junction' : 'jct',
'center': 'ctr',
'circle' : 'cir',
'cove' : 'cv',
'lane' : 'ln',
'road' : 'rd',
'court' : 'ct',
'square' : 'sq',
'loop' : 'lp'
所以我想知道我是否遗漏了地址中使用的任何关键词,或者是否有人可以将我引导至一个链接,在该链接中我可以找到美国地址中使用的缩写词列表。
提前致谢。
【问题讨论】:
-
小心使用正则表达式来规范化或验证街道地址,因为街道地址不规则。我是 SmartyStreets 的一名开发人员,这是一家地址验证/清理公司,我见过一些疯狂的地址,例如“1234 Street Rd, Street, MD”。正则表达式会破坏这种地址。
标签: normalization