import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* <p>Description: some description </p>
*
* @author : xiaodong.yang
* @date : 2024/11/18 15:07
*/
public class AddressUtil {
/**
* 从地址串中解析提取出省市区等信息
*
* @param address 地址信息
* @return 解析后的地址Map
*/
private static Map<String, String> addressResolution(String address) {
//1.地址的正则表达式
String regex = "(?<province>[^省]+省|[^自治区]+自治区|北京|上海|天津|重庆|澳门|香港|台湾)?" + "(?<city>[^市]+市|[^自治州]+自治州|[^盟]+盟|[^地区]+地区|市辖区)?" + "(?<county>[^县区旗]+(县|区|旗))?" + "(?<address>.+)";
// 编译正则表达式
//2、创建匹配规则
Matcher m = Pattern.compile(regex).matcher(address);
String province;
String city;
String county;
String detailAddress;
Map<String, String> map = new HashMap<>(16);
while (m.find()) {
//加入省
province = m.group("province");
map.put("province", province == null ? "" : province.trim());
//加入市
city = m.group("city");
map.put("city", city == null ? "" : city.trim());
//加入区
county = m.group("county");
map.put("county", county == null ? "" : county.trim());
//详细地址
detailAddress = m.group("address");
map.put("address", detailAddress == null ? "" : detailAddress.trim());
}
return map;
}
public static String getCounty(String address) {
return addressResolution(address).get("county");
}
public static void main(String[] args) {
System.out.println(addressResolution("江苏省泰州市姜堰区顾高镇309县道"));
System.out.println(addressResolution("内蒙古自治区呼伦贝尔市海拉尔区仁德里街汽车公司综合楼27号"));
System.out.println(addressResolution("江苏省徐州市睢宁县樱花社区"));
System.out.println(addressResolution("江苏省连云港市海州区岗埠农场临河警务区"));
}
}
相关推荐
激光雷达-IMU标定工具lidar_imu_calib保姆级教程(VLP-16实测)
本文提供激光雷达与IMU联合标定的详细实战教程,重点解析lidar_imu_calib工具在VLP-16上的应用。从环境部署、数据采集技巧到参数配置与结果验证,手把手指导完成标定全流程,并详解如何在LIO-SAM等SLAM系统中应用标定结果,确保传感器融合精度。
详细地址正则表达式
^.+(区|镇).+(路|街).+号.+号楼.+单元.+(室|户).*$ ^.+(路|街).+号.+号楼.+单元.+(室|户).*$ ^.+县.+(路|街).+号.+号楼.+单元.+(室|户).*$ ^.+县.+(镇|乡).+(路|街).+号.+号楼.+单元.+(室|户).*$ ^.+(区|镇).+小区.+号楼.+单元.+(室|户).*$ ^.+小区.+号楼.+单元.+(室|户)...
从 0 到 1:基于深度学习的图像识别系统开发实战
图像识别是指让计算机能够识别和理解图像中的内容,通常是通过计算机视觉技术来实现。深度学习,尤其是卷积神经网络(CNN),已经成为图像识别中最为流行和有效的技术。数据采集和预处理:获取并处理图像数据,使其适合于模型训练。模型训练:使用深度学习算法(如 CNN)训练模型,以学习图像中的特征。模型评估与优化:评估模型的性能,并通过调整超参数、优化算法等方法提高精度。模型部署与应用:将训练好的模型应用于实际的图像识别任务中。本文将带领你通过一个简单的图像分类问题,开发一个深度学习图像识别系统。
用正则表达式 分割获取到的地址 省市区详细地址
【代码】用正则表达式 分割获取到的地址 省市区详细地址。
LDA模型参数优化实战:从auto设置到passes调优
本文深入探讨了LDA主题模型的参数优化实战,重点解析了如何通过设置alpha='auto'与eta='auto'让模型自适应语料,并详细阐述了passes参数对训练效果的核心影响。文章提供了系统的调优方法与评估策略,旨在帮助用户从“能用”到“用好”LDA,产出清晰、可解释的主题分析结果。
某银行大数据分析平台之云原生架构
软考架构师论文
正则表达式 划分省市区(直辖市和附详细地址包括市,区)
目前有需求是将省市区从详细地址中提取出来。这里选择用正则表达式,语言使用C#。 查阅一般用于区分省市区的正则表达式,编写如下代码: using System; using System.Text.RegularExpressions; class Demo { static void Main() { string str = "内蒙古自治区巴彦淖尔市临河区新华东街三河小区康家电维修部"; str = str.Replace(" ", "");
基于Playwright+Pytest+Yaml+Allure的UI自动化测试框架实战指南
本文详细介绍了基于Playwright+Pytest+Yaml+Allure的UI自动化测试框架实战指南,涵盖环境搭建、核心功能实现及高级技巧。通过数据驱动测试、页面操作封装和智能等待机制,提升测试效率与可维护性。Allure报告增强功能为团队提供直观的质量反馈,助力高效UI自动化测试。
【Java 解析全国详细地址】Java 利用正则表达式完美解析全国省市区地址
OCR识别营业执照 获取详细地址并拆分。
5套高颜值AI漫剧女主设定图!直接拿去做漫剧(附完整提示词)
左侧特写放大表现暖棕眼妆、豆沙唇、红宝石首饰、发丝与针织纹理,四个视图严格保持同一人物脸模、发色、服装、首饰和身体比例,柔和复古棚拍光,低饱和酒红与奶油色配色,真实布料、皮革、金属与宝石材质,高级精致角色资产设定图,高清8K。佩戴珍珠与透明水晶耳坠、纤细珍珠项链;左侧特写放大至胸部以上,清晰表现皮肤、眼妆、发丝、耳饰和针织材质,人物四个视图保持同一脸模、发型、服装、饰品和身体比例,柔和棚拍漫射光,轻微地面阴影,高级细腻材质,真实发丝,细腻皮肤,高精度角色资产设定图,高清8K质感。
PDN分析实战:电源完整性设计与Altium PDN Analyzer全流程指南
电源完整性(PI)是嵌入式硬件系统稳定运行的基础能力,其核心在于控制电流密度与电压降两大物理量。基于欧姆定律与热-电耦合原理,PDN分析将抽象的电源噪声问题转化为可量化、可定位的几何与电气参数优化过程。该技术显著提升系统抗干扰能力、降低复位与ADC漂移等隐性故障率,并直接支撑EMC合规性设计。典型应用场景包括电机驱动板、Wi-Fi模块、STM32/ESP32等资源受限型MCU供电网络验证。本文以Altium Designer为工具平台,结合IPC-2152标准与真实工程案例,详解从功率预算、模型构建到瓶颈定
正则地址匹配省市县乡/镇详细地址
town>[^乡镇]+乡镇|.*?区|.+镇|.+乡|.*?中法武汉生态示范城|.*?阿荣旗林业和草原局|.*?<province>[^省]+^自治区|.*?市)|上海|北京|天津|重庆)(?<city>上海城区|北京城区|天津城区|重庆城区|重庆郊县|[^市]+自治州|.*?行政单位|.+盟|市辖区|香港岛|九龙半岛|新界|澳门半岛|海南州|屯昌县|临高县|定安县|澄迈县|神农架林区|路环岛|非堂区|氹仔|离岛|.*?<county>[^县]+县|.*?
Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行
Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行
JAVA IP地址格式验证,使用正则表达式
正则表达式 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 元字符 由于 \ 和 " 或者 ’ 组合无法显示出来,所以我下面的内容尽可能的加了一个空格。还有 | 这个字符也是无法显示出来,我用 l 代替了。 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,‘n’ 匹配字符 “n”。’\n’ 匹
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
Java从详细地址中抓取省市县
如何实现Java从详细地址中抓取省市县 作为一名经验丰富的开发者,我将指导你如何在Java中实现从详细地址中抓取省市县的功能。首先,让我们来看一下整个流程: 步骤#render_6_4104516278-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font...
蓝牙模块HM-10手册
蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。
Java 使用正则表达式判断合法的 E-mail 地址
正则表达式中的元字符 元字符 正则表达式中的写法 意义 . . 代表任意一个字符 \d \\d 代表0~9的任意一个数字 ...
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
C#正则表达式验证IP地址
思路:正则表达式实质就是字符串)(([1-9]\d?)|(1\d{2})|(2[01]\d)|(22[0-3])) 第一部分是1-223可能有: 一个字符[1-9],可能两个字符[1-9]\d ?重复是一个次或者0次. 三个字符就是以1开头或者2开头的字符 1\d{2}是以1开头 2[01]\d)|(22[0-3] 是2开头的三个字符并到223结束 之后的三部分同理。 控制台中的代码: ...
邮箱地址的正则表达式解析
常用元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 常用限定符 代码/语法 说明 * 重复零次或更多次 + 重复一次或更多次 ? 重复...
常用正则表达式-IPv4地址
常用正则表达式-IPv4地址
js : 正则表达式 -- 邮件地址验证解析
From :http://www.cnblogs.com/Dannier/archive/2010/11/06/RegExp.html 电子邮件验证 正则表达式(regular expression, 常常缩写为RegExp) 是一种用特殊符号编写的模式,描述一个或多个文本字符串。使用正则表达式匹配文本的模式,这样脚本就可以轻松的识别和操作文本。其实,正则
java校验ip格式_JAVA IP地址格式验证,使用正则表达式
正则表达式正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。元字符由于 \ 和 " 或者 ’ 组合无法显示出来,所以下面的内容尽可能的加了一个空格。还有 | 这个字符也是无法显示出来,用 l 代替了。字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一...
正则表达式验证Ip地址(绝对正确)
之前一直不太会写正则表达式,很多要用到正则表达式的都直接百度,像上次要用正则表达式验证是否是合法的ip地址,然后就上网找,结果就是没找到一个对的,今天就为大家贡献一下,写个对的,并做一下解析。(建议大家还是去看书去规范的学一下,不要直接百度,不然都是坑)。 iPv4的ip地址都是(1~255).(0~255).(0~255).(0~255)的格式 下面给出相对应的正则表达式: "^(1\\d
html正则表达式验证IP地址,JavaScript可以使用正则表达式验证IP地址是否合法
Javascript判断IP是否合法。正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。JavaScript可以使用正则表达式验证IP地址是否合法:functionisValidIP(ip){varreg=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5...
IP地址的正则表达式
关键字:IP地址 正则表达式 作者:txw1958 出处:http://www.cnblogs.com/txw1958/archive/2011/10/13/ip_address_regular_expression.html IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点“.”隔开。例如:某台计算机IP地址为10.11.44
正则表达式+验证IP地址合法性
标题正则表达式+验证IP地址合法性 ipCheck:function(){ var reg =/^(?:(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:1[0-9][0-9]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:2[0-4][0-9])|(?:25[0-5])|(?:1[0-9][0-9])|(?:[1-9][0-...
IP 地址的正则表达式匹配
有关正则方面的知识,会在详细的讲解中提到。 在讲解之前,我先给大家介绍一下,ip地址的生成规则。 IP地址,是由32位数字二进制转为四个十进制的字符串组成。 怎么转化?下面讲解: 二进制:11111111111111111111111111111111 分为四部分:11111111.11111111.11111111.11111111 转...
475



被折叠的 条评论
为什么被折叠?



