首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在pl/sql中如何将街值拆分成原子?

在pl/sql中如何将街值拆分成原子?
EN

Stack Overflow用户
提问于 2013-05-12 22:06:49
回答 2查看 1.1K关注 0票数 1

我的任务是将非原子(澳大利亚)街道地址转换为原子地址,这意味着当前的街道数据将作为街道编号和街道名称一起存储。示例如下:

代码语言:javascript
运行
复制
24 George street        -----------> 24         |   George street    
55 park rd              -----------> 55         |   pard rd  
102a gordon road        -----------> 102a       |   gordon road
unit 5/46 addison ave   -----------> unit 5/46  |   addison ave 
flat 2-9/87 north avenue-----------> flat 2-9/87|   north avenue
suit 5 lvl2/55 prince hwy-------> suit 5 lvl2/55|   prince hwy
shop 5 Big Shopping Centre  ------> Rejected
Suit 2 Level 100          -------> Rejected

添加数据(程序的工作方式):

代码语言:javascript
运行
复制
Darling street ------------------> Rejected
City road -----------------------> rejected

建议的代码处理结果:

代码语言:javascript
运行
复制
Darling street ------------>   Darling     |    Street
City road   --------------->   City        |     road

实际上,在这种情况下,代码不应该处理地址并抛出异常。

拆分地址的最佳方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-12 22:32:06

代码语言:javascript
运行
复制
select
   addr,
   regexp_substr(addr, '^(.*?)\s\D+$', 1, 1, '', 1) street_number,
   regexp_substr(addr, '^.*?\s+(\D*?)\s*$', 1, 1, '', 1) street_name
from t1   
where -- don't show rejected
   regexp_like(addr, '\d.*\s(street|road|rd|ave|avenue|hwy)\s*$', 'i')  

fiddle

票数 2
EN

Stack Overflow用户

发布于 2013-05-14 01:48:37

我假设你已经按照同样的思路看到了这个question的答案。

@kaᵠ已经指出,程序对数据一无所知,因此它没有上下文。这种情况永远不会改变。因此,考虑到这一点,您需要确定的第一件事是您需要什么级别的准确性?如果你需要70%的准确率,那么你可以用简单的REGEX做到这一点。( regex真的很简单吗)?

如果您需要确定从输入中提取的地址实际上是真实有效的,则需要一个列表或表进行比较。这些数据将来自澳大利亚邮政(或美国的USPS )等来源。

因此,使用您的正则表达式来提取“猜测”,然后根据主列表验证这些猜测,并且匹配的是正确的。没有主列表,你就不能确定你做对了还是做错了。

实际上,我在SmartyStreets一直在研究这个完全相同的问题(除了我只处理美国地址),并提出了许多不同的解决方案-不同的方法来确定地址字符串的开始和结束,以及如何处理误报,或看起来像邮政编码的主数字。您可以使用纯REGEX,也可以使用包含邮政编码、州和街道名称的表。这使您能够非常接近于能够以高精度提取原子数据。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16508205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档