java如何从地址串中解析提取省市区(完美匹配中国所有地址)_第1页
java如何从地址串中解析提取省市区(完美匹配中国所有地址)_第2页
java如何从地址串中解析提取省市区(完美匹配中国所有地址)_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第java如何从地址串中解析提取省市区(完美匹配中国所有地址)前言

前段时间项目中要解析android定位传的一个地址串分别存入省市区字段,网上找的写正则的方法大都只能解析xx省xx市xx区这样的大众化地址,而对于一些命名比较特别的地址(比如:西藏自治区日喀则地区日喀则市/海南省省直辖县级行政单位中沙群岛的岛礁及其海域)就会出问题,我就将正则式进行了修改完善。

废话不多说直接上代码:

packagecom.jt.util;

importjava.util.ArrayList;

importjava.util.LinkedHashMap;

importjava.util.List;

importjava.util.Map;

importjava.util.regex.Matcher;

importjava.util.regex.Pattern;

publicclassAddressResolutionUtil{

*解析地址

*@authorlin

*@paramaddress

*@return

publicstaticListMapString,StringaddressResolution(Stringaddress){

Stringregex="(province[^省]+自治区|.*省|.*行政区|.*市)(city[^市]+自治州|.*地区|.*行政单位|.+盟|市辖区|.*市|.*县)(county[^县]+县|.+区|.+市|.+旗|.+海域|.+岛)(town[^区]+区|.+镇)(village.*)";

Matcherm=Ppile(regex).matcher(address);

Stringprovince=null,city=null,county=null,town=null,village=null;

ListMapString,Stringtable=newArrayListMapString,String();

MapString,Stringrow=null;

while(m.find()){

row=newLinkedHashMapString,String

province=m.group("province");

row.put("province",province==null"":province.trim());

city=m.group("city");

row.put("city",city==null"":city.trim());

county=m.group("county");

row.put("county",county==null"":county.trim());

town=m.group("town");

row.put("town",town==null"":town.trim());

village=m.group("village");

row.put("village",village==null"":village.trim());

table.add(row);

returntable;

publicstaticvoidmain(String[]args){

System.out.println(addressResolution("湖北省武汉市洪山区"));

}

下面对几个代表性的地址进行测试:

System.out.println(addressResolution("湖北省武汉市洪山区"));

System.out.println(addressResolution("湖北省恩施土家族苗族自治州恩施市"));

System.out.println(addressResolution("北京市市辖区朝阳区"));

System.out.println(addressResolution("内蒙古自治区兴安盟科尔沁右翼前旗"));

System.out.println(addressResolution("西藏自治区日喀则地区日喀则市"))

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论