(高分悬赏)从字符串中怎么提取省市区/县

yj19891214 2018-01-16 09:39:49
如下的字符串:
"浙江省温州市永嘉县岩头镇芙蓉新村15栋";(这样格式的就比较好匹配)

但是碰到格式不同的怎么处理?
如:
1、浙江省杭州市西湖区塘苗路18号华星现代产业园
2、浙江省 杭州市 西湖区 塘苗路18号 华星现代产业园
3、新疆维吾尔自治区 昌吉回族自治州 呼图壁县 天山雪大道98号天盛酒业
4、新疆维吾尔自治区乌鲁木齐市天山区青年路街道光明路北巷28号19号楼3单元102号

如何提取出省、市、区县、地址?

以上4个字符串希望得到如下的结果:

省 市 区县 地址
------------------------------------------------------------------------------------------------------------------------------------------
1、浙江省 杭州市 西湖区 塘苗路18号华星现代产业园
2、浙江省 杭州市 西湖区 塘苗路18号 华星现代产业园
3、新疆维吾尔自治区 昌吉回族自治州 呼图壁县 天山雪大道98号天盛酒业
4、新疆维吾尔自治区 乌鲁木齐市 天山区 年路街道光明路北巷28号19号楼3单元102号

疑问:碰到直辖市怎么整? 一些自治区怎么整?一些地级市怎么整???如:浙江省温州市乐清市
...全文
7995 24 打赏 收藏 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
forborn 2019-10-09
  • 打赏
  • 举报
回复
(?<province>[^省]+自治区|.*?省|.*?行政区|.*?市)(?<city>[^市]+自治州|.*?区|.*?行政单位|.+盟|市辖区|.*?市|.*?县)(?<county>[^县]+县|.+区|.+市|.+旗|.+海域|.+岛)?(?<town>[^区]+区|.+镇)?(?<village>.*)
这个正则会将直辖市的区放到city里面,咋改成放到county里啊
望天小凶许 2019-09-12
  • 打赏
  • 举报
回复
省市区详细地址分离及省市区详细数据库:https://download.csdn.net/download/qq_26656427/10343554
暗夜程序员 2019-09-02
  • 打赏
  • 举报
回复
可以这样做,
1、先建立全国的省、市、县/区表。
2、先用省表中的数据去字符串中匹配,
3、在用2加的省编码加载出其下的市集合,用这个使用去匹配字符串,
4、县/区也是像2,3这样处理就行。
5、每处理一级区域就将其从字符串中去掉。
经过上述的处理,剩下的就是详细地址了,就可以拼出你想要的结果了。
巫子哥笔记 2019-03-12
  • 打赏
  • 举报
回复
只输入深圳市 就查不出什么了 不是很实用
秋9 2018-07-31
  • 打赏
  • 举报
回复
Java实现,参考 https://blog.csdn.net/jlq_diligence/article/details/81304527

1、浙江省杭州市西湖区塘苗路18号华星现代产业园
2、浙江省 杭州市 西湖区 塘苗路18号 华星现代产业园
3、新疆维吾尔自治区 昌吉回族自治州 呼图壁县 天山雪大道98号天盛酒业
4、新疆维吾尔自治区乌鲁木齐市天山区青年路街道光明路北巷28号19号楼3单元102号
测试结果为:
{area=西湖区, street=文三路辅路, province=浙江省, city=杭州市}
{area=西湖区, street=文三路辅路, province=浙江省, city=杭州市}
{area=呼图壁县, street=天山雪大道, province=新疆维吾尔自治区, city=昌吉回族自治州}
{area=天山区, street=光明路北巷, province=新疆维吾尔自治区, city=乌鲁木齐市}
浅笑天无情 2018-01-17
  • 打赏
  • 举报
回复
很明显写的正则是无法匹配四个直辖市的,并且市的话,怎么区分是直辖市还是县级市,还是市区呢? 没想明白,怎么写都没用
Braska 2018-01-17
  • 打赏
  • 举报
回复
一点规律都没有 也没有做规范 基本做不了吧
yj19891214 2018-01-17
  • 打赏
  • 举报
回复
引用 13 楼 cattpon 的回复:
哎呀~竟然搬出了实际案例~
啥意思啊
cattpon 2018-01-17
  • 打赏
  • 举报
回复
哎呀~竟然搬出了实际案例~
yj19891214 2018-01-17
  • 打赏
  • 举报
回复
引用 11 楼 kampoo 的回复:
问题看似包括两方面:1. 内容正确格式不一致;2. 内容不正确 问题1. 这个相对简单,看到了你的正则表达式再优化下,把各种省地县的别名都加进去,把空白字符也考虑进去,比如(不一定周全供参考):

var regexFmt = "([汉字,下同]+[省|市|自治区])(\s*)([...]+[市|区|县|自治州|盟])(\s*)([...]+[县|区|旗|市])?(\s*)(.*)";
// 加入空白字符(\s*)
// 地级行政单位也包括县,比如直辖市有下一级的县,并没有地市
// 县一级也有县级市,但直辖市可能不存在这一级,所以这一级可选(用?)
// 其余的任意字符均列入详细地址
2. 内容不正确: 如果需要检验上述各级地址的正确性,请使用国家统计单位的数据库进行对比,或者部分匹配,列出完全地址和猜测地址。
可是你这正则表达式貌似是错的,你用java验证下!
kampoo 2018-01-17
  • 打赏
  • 举报
回复
问题看似包括两方面:1. 内容正确格式不一致;2. 内容不正确 问题1. 这个相对简单,看到了你的正则表达式再优化下,把各种省地县的别名都加进去,把空白字符也考虑进去,比如(不一定周全供参考):

var regexFmt = "([汉字,下同]+[省|市|自治区])(\s*)([...]+[市|区|县|自治州|盟])(\s*)([...]+[县|区|旗|市])?(\s*)(.*)";
// 加入空白字符(\s*)
// 地级行政单位也包括县,比如直辖市有下一级的县,并没有地市
// 县一级也有县级市,但直辖市可能不存在这一级,所以这一级可选(用?)
// 其余的任意字符均列入详细地址
2. 内容不正确: 如果需要检验上述各级地址的正确性,请使用国家统计单位的数据库进行对比,或者部分匹配,列出完全地址和猜测地址。
Braska 2018-01-17
  • 打赏
  • 举报
回复
String regex="^(?<province>[^省]+省|.+自治区)?(?<city>[^市]+市|.+自治州)?(?<county>[^县]+县|.+区)?(?<town>[^区]+区|.+镇)?(?<village>.*)";


二楼正则改成你要的,说实话这个需求真的无解。
yj19891214 2018-01-17
  • 打赏
  • 举报
回复
引用 16 楼 moyan254 的回复:
很明显写的正则是无法匹配四个直辖市的,并且市的话,怎么区分是直辖市还是县级市,还是市区呢? 没想明白,怎么写都没用
这个可以判断县级市,indexof,但是优化他的正则好难啊,没有省或者没有市 就不行了
yj19891214 2018-01-17
  • 打赏
  • 举报
回复
[quote=引用 2 楼 LinBilin_ 的回复:] 2L的正则是可以的?但是能否优化一下: String code7="浙江省杭州市塘苗路18号华星现代产业园"; 可以解析 [{province=浙江省, city=杭州市, county=, town=, village=塘苗路18号华星现代产业园}] 但是 String code8="浙江省西湖区塘苗路18号华星现代产业园"; String code9="杭州市西湖区塘苗路18号华星现代产业园"; String code10="上海市浦东新区兰陵镇"; 不行啊,因为他们有的没有省或者市 这个怎么优化 在2L的正则表达式上优化
lkf181 2018-01-17
  • 打赏
  • 举报
回复
正则表达式吧...........
tianfang 2018-01-16
  • 打赏
  • 举报
回复
下载国家行政地名标准 有人已经把数据导入了 https://github.com/cn/GB2260 数据来源是 http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/ http://www.mca.gov.cn/article/sj/tjbz/a/ 从字符串前面开做字符串匹配,先找省级,再找下一级
tianfang 2018-01-16
  • 打赏
  • 举报
回复
引用 3 楼 yj19891214 的回复:
[quote=引用 1 楼 tianfang 的回复:] 下载国家行政地名标准 有人已经把数据导入了 https://github.com/cn/GB2260 数据来源是 http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/ http://www.mca.gov.cn/article/sj/tjbz/a/ 从字符串前面开做字符串匹配,先找省级,再找下一级
看清楚问题啊大哥 还是谢谢你[/quote] 我最后说了怎么计算: 从字符串前面开做字符串匹配,先找省级,再找下一级
yj19891214 2018-01-16
  • 打赏
  • 举报
回复
引用 6 楼 MAX_WWei 的回复:
[quote=引用 4 楼 yj19891214 的回复:] [quote=引用 2 楼 LinBilin_ 的回复:] 你看最后一个 乐清市还是错的, 再比如说上海浦东新区朝阳镇/ 宁夏回族自治区中卫市沙坡头区宁卫线 这种呢
贴代码那层你改改就行了 增加一个县级市的字段 后面的可以规定一下录地址时的操作规范啊[/quote] 来来 咋改,麻烦你改下 我要是会就不来问了...
最猛的阿良 2018-01-16
  • 打赏
  • 举报
回复
要是我就这么做 首先把全国行政区域建一张表 表字段是行政区域的细化 然后把地址字符串用正则分解 分解后作为条件模糊查询 将唯一对应的数据拿出来
最猛的阿良 2018-01-16
  • 打赏
  • 举报
回复
引用 4 楼 yj19891214 的回复:
[quote=引用 2 楼 LinBilin_ 的回复:] 你看最后一个 乐清市还是错的, 再比如说上海浦东新区朝阳镇/ 宁夏回族自治区中卫市沙坡头区宁卫线 这种呢
贴代码那层你改改就行了 增加一个县级市的字段 后面的可以规定一下录地址时的操作规范啊
加载更多回复(4)
源码直接下载地址: https://pan.quark.cn/s/387d7c8f6289 在使用IE浏览器的过程中,偶尔会出现重置为默认配置操作未能顺利完成的现象。这种情况的发生可能源于多种因素,包括注册表项出现偏差、浏览器附加组件之间存在不兼容、操作系统授权设置不当或受到恶意程序影响等。针对这一挑战,我们可以通过一系列系统性的方法来逐一诊断和纠正。首先需要验证当前用户是否具备管理员级别的操作权限。在执行重置配置的操作时,必须确保IE浏览器是以管理员身份启动的。具体操作方式为,使用鼠标右键单击IE程序图标,并从弹出的菜单中选择“以管理员身份运行”这一选项。其次,应当检查是否存在恶意软件。恶意程序有时会非法修改浏览器的配置信息,从而阻碍重置过程的正常进行。用户可以借助Windows系统自带的Microsoft Safety Scanner进行检测,或者选择安装并使用第三方安全防护软件执行全面的系统扫描。紧接着,需要对浏览器的缓存数据以及Cookies文件进行清理。在IE浏览器界面中,通过访问“工具”菜单并选择“Internet选项”,然后在弹出的设置界面中,切换至“常规”标签页,并执行清除浏览历史记录的操作,此过程应包含Cookies和临时互联网文件。倘若上述步骤均未能解决问题,那么可以考虑禁用或移除那些可能引发冲突的浏览器附加组件。相关操作需要在“工具”菜单下找到并打开“管理加载项”,对可疑的插件进行禁用处理,并在浏览器重新启动后再次尝试执行重置操作。再者,修复IE浏览器相关的注册表配置也是至关重要的环节。注册表编辑器是一个功能强大的系统工具,任何不当的操作都可能导致严重的系统问题,因此在进行修改前必须创建系统还原点作为安全备份。用户可以通过按下“Win+R”组合...
内容概要:本文详细介绍了光伏储能虚拟同步发电机(VSG)并网仿真模型的Simulink实现方法,系统研究了光伏发电与储能系统融合VSG技术并入电网的动态特性与控制策略。通过构建完整的VSG控制模块,模拟其在并网过程中的虚拟惯性响应、频率调节能力和有功无功功率支撑特性,验证了该系统在增强电网稳定性、提升新能源并网适应性方面的有效性。模型全面涵盖光伏出力特性、储能系统充放电管理、VSG有功-无功解耦控制、下垂控制机制以及并网点动态响应等关键环节,并通过多种工况下的仿真分析,评估系统在不同运行条件下的动态性能与鲁棒性。; 适合人群:具备电力系统、新能源发电、自动控制等相关专业背景,熟悉Matlab/Simulink仿真环境,从事新能源并网、微电网控制或电力电子系统研究的科研人员、工程技术人员及研究生。; 使用场景及目标:①深入理解光伏储能系统如何通过VSG技术模拟同步发电机的惯性和阻尼特性以支持电网稳定;②掌握虚拟惯量控制、下垂控制等VSG核心控制策略在Simulink中的建模、参数设计与实现方法;③为新型电力系统中新能源并网的动态仿真、稳定性分析及控制策略优化提供可靠的模型基础和技术参考。; 阅读建议:建议结合所提供的仿真模型进行逐步操作与参数调试,重点关注VSG控制环路的结构设计、控制器参数整定及其对系统动态性能的影响,同时可将该模型拓展应用于多机并联、微电网孤岛/并网切换、多能源协同控制等更复杂的系统场景中进行进阶研究。

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧