2010-02-11 157 views
5

有誰知道一個庫來比較Java中的地址嗎?Java比較地址

東西會給地址上的平等,用不同的方式寫。

例如,應該認識到,

"22 Acacia Avenue" and "22 acacia av." 

是同一個地址。

當然,這可以升級很多,這就是爲什麼我問。

在此先感謝。

+2

您正在詢問如何將自由文本中的地址解析爲規範形式。在解析它們之後,將它們等同起來很容易。 – Yoni 2010-02-11 13:32:31

+0

@Yoni,我正在看看Levenshtein距離來測試每個部分。 謝謝。 – Tom 2010-02-11 13:59:07

回答

0

到真實,準確,比較地址的唯一方法是,以確保兩個標準化和認證。在美國境內,您可以利用認證地址上的12位交貨點條形碼作爲特定地址的唯一標識符。除此之外,你可以做的事情不多,因爲地址不是自我驗證的,可以用無數種不同的方式編寫。即使是複雜的正則表達式也無濟於事。不要讓我開始瞭解人們如何錯誤地拼寫街道和城市。

我應該提到我是SmartyStreets的創始人。我們有一個CASS-certified address verification service它允許您清理,標準化,驗證和確認每個地址,然後重複檢測一塊蛋糕。我們提供批量處理以獲得C ASS-certified list或通過address verification web service API進行單個「實時」檢查。