一个身份证地址解析出省市区的工具类

warning: 这篇文章距离上次修改已过369天,其中的内容可能已经有所变动。
package com.javalaoniu.tool.utils;

 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;

 /**
  * 身份证地址提取省市区工具类
  */
 public class AddressResolutionUtil {

     /**
      * 根据身份证地址提取省市区工具类
      *
      * @param address
      * @return
      */
     public static List<Map<String, String>> addressResolution(String address) {
         String regex = "(?<province>[^省]+自治区|.*?省|.*?行政区|.*?市)(?<city>[^市]+自治州|.*?地区|.*?行政单位|.+盟|市辖区|.*?市|.*?县)(?<district>[^县]+县|.+区|.+市|.+旗|.+海域|.+岛)?(?<town>[^区]+区|.+镇)?(?<detail>.*)";
         Matcher m = Pattern.compile(regex).matcher(address);
         String province = null, city = null, district = null, town = null, detail = null;
         List<Map<String, String>> table = new ArrayList<Map<String, String>>();
         Map<String, String> row = null;
         while (m.find()) {
             row = new LinkedHashMap<String, String>();
             province = m.group("province");
             row.put("province", province == null ? "" : province.trim());
             city = m.group("city");
             row.put("city", city == null ? "" : city.trim());
             district = m.group("district");
             row.put("district", district == null ? "" : district.trim());
             town = m.group("town");
             row.put("town", town == null ? "" : town.trim());
             detail = m.group("detail");
             row.put("detail", detail == null ? "" : detail.trim());
             table.add(row);
         }
         return table;
     }
     public static void main(String[] args) {
         System.out.println(addressResolution("广东省深圳市福田区梅林街道办事处国际金融科技大厦"));
         System.out.println(addressResolution("山东省德州市禹城市伦镇堂子街村235号"));
     }
 }
版权声明 ▶ 本网站名称:我的学习笔记
▶ 本文链接:https://ooolo.net/article/230.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!!

none
最后修改于:2023年05月25日 14:20

添加新评论

icon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.png