• 首页
  • 邻居
  • 关于
  • 归档
  • 搜索
  • 夜间模式
    ©2020-2026  我的学习笔记 Theme by OneBlog

    我的学习笔记博客

    搜索
    标签
    # 随笔 # Java # 教程 # openwrt # Mysql # SQL # 爬虫 # post # Js调优 # MAVEN
  • 首页>
  • 随笔>
  • 正文
  • 一个身份证地址解析出省市区的工具类

    2023年05月25日 1.4 k 阅读 0 评论 1894 字
    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号"));
         }
     }
    本文著作权归作者 [ admin ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    取消回复

    发表留言
    回复

    首页邻居关于归档
    Copyright©2020-2026  All Rights Reserved.  Load:0.016 s
    京ICP备18019712号
    Theme by OneBlog V3.6.5
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。