鍍金池/ 問(wèn)答/Java  PHP  Python  數(shù)據(jù)庫(kù)  HTML/ 請(qǐng)問(wèn)大家給定一個(gè)地址如何能拆分出單獨(dú)分開(kāi)的省市區(qū)行政區(qū)劃,想了一天沒(méi)什么思路

請(qǐng)問(wèn)大家給定一個(gè)地址如何能拆分出單獨(dú)分開(kāi)的省市區(qū)行政區(qū)劃,想了一天沒(méi)什么思路

求助各位前輩: 如果長(zhǎng)地址為 天津市和平區(qū)南京路 xxxx

如何能通過(guò)不用人工干預(yù)的手段處理成: 天津市;和平區(qū);南京路;這種行政區(qū)劃呢?

因?yàn)檩斎胗胁淮_定性,比如“省”,“市”,“區(qū)”的缺失,或者比較奇葩的地名街道,

感謝大家,提供思路,謝謝,

回答
編輯回答
純妹

因?yàn)橛脩?hù)輸入的內(nèi)容,不確定性太大,現(xiàn)在都建議使用選擇的方式輸入到行政區(qū),最后一小段地址才是用戶(hù)輸入的.
從模糊數(shù)據(jù)里找出詳細(xì)地址是很復(fù)雜的,比如我不輸入省份城市,只輸入行政區(qū)你怎么搞?當(dāng)然還是有辦法,因?yàn)橛腥藢?shí)現(xiàn)了,比如高德地圖.
但是這么做成本太高了,遠(yuǎn)遠(yuǎn)大于讓用戶(hù)選擇輸入的成本.

clipboard.png
比較偏門(mén)的方法.
高德地圖的地址編碼可以模糊搜索,返回格式化的地址.
http://lbs.amap.com/api/webse...

2017年3月30日 22:31
編輯回答
情殺

當(dāng)然可以啦。
一個(gè)典型的數(shù)據(jù)庫(kù)如下(結(jié)構(gòu)是對(duì)的,數(shù)據(jù)是隨手打的。這樣的庫(kù)網(wǎng)上很多)

6位行政區(qū)劃代碼 區(qū)劃名稱(chēng)(省就是省名字,市就是市名字,區(qū)類(lèi)似) 上級(jí)行政區(qū)劃代碼
100000 天津 0 天津是直轄市
100100 天津市 100000
100101 和平區(qū) 100100

  1. 先在所有省份中遍歷匹配,匹配成功,則匹配的部分就是省份,存起來(lái),然后刪除掉原地址這部分
  2. 接下來(lái)的字符串在市匹配,匹配成功與1一樣
  3. ...類(lèi)似

用戶(hù)輸入不準(zhǔn)的話(huà),你要把用戶(hù)輸入發(fā)送到后臺(tái)查詢(xún),把相似的數(shù)據(jù)庫(kù)中的地名返回到前臺(tái)讓用戶(hù)填寫(xiě)

2017年3月17日 04:53