java正则匹配多个子字符串样例
文本内容:
上海市黄浦区
瑞典
江苏省无锡市
广东省深圳市南山区
我希望分别将字符串中的省份,城市名,城区名匹配出来,如匹配不出来就默认放在省份中。
public static HashMap<String, String> splitCountry(String country) {
HashMap<String, String> ret = new HashMap<String, String>();
Pattern mpattern = Pattern.compile("(((.*省)|(.*市)|(.*区)).*?|.*)");
Matcher mmatcher = mpattern.matcher(country);
String str = "";
while (mmatcher.find()) {
str = mmatcher.group();
if (str.length() > 0) {
if (str.endsWith("省"))
ret.put("province", str);
else if (str.endsWith("市"))
ret.put("city", str);
else if (str.endsWith("区"))
ret.put("region", str);
else
ret.put("province", str);
}
}
return ret;
}
public class TestIP {
@Test
public void test() {
List<String> cList = new ArrayList<String>();
cList.add("上海市黄浦区");
cList.add("瑞典");
cList.add("江苏省无锡市");
cList.add("广东省深圳市南山区");
for(String country:cList)
{
HashMap<String,String> dd = IPUtil.splitCountry(country);
System.out.println(dd.get("province") + "|" + dd.get("city") + "|" + dd.get("region"));
}
}
}
程序执行输出结果:
|上海市|黄浦区
瑞典|null|null
江苏省|无锡市|null
广东省|深圳市|南山区
java正则匹配多个子字符串样例的更多相关文章
- java 正则匹配空格字符串 正则表达式截取字符串
java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = ...
- java文件夹相关操作 演示样例代码
java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...
- Java连接redis的使用演示样例
Java连接redis的使用演示样例 Redis是开源的key-value存储工具,redis通经常使用来存储结构化的数据,由于redis的key能够包括String.hash.listset和sor ...
- 通用且常用的Java正则匹配工具,用以检查邮箱名、电话号码、用户密码、邮政编码等合法性
一个通用且常用的Java正则匹配工具,用以检查邮箱名.电话号码.用户密码.邮政编码等合法性. import java.util.regex.Matcher; import java.util.rege ...
- 关于JAVA正则匹配空白字符的问题
今天遇到一个字符串,怎么匹配空格都不成功!!! 我把空格复制到test.properties文件 显示“\u3000” ,这是什么? 这是全角空格!!! 查了一下 \s 不支持全角 1.& ...
- java正则匹配
java正则提取需要用到Matcher类,下面给出案例示例供参考 需要提取车牌号中最后一个数字,比如说:苏A7865提取5,苏A876X提取6import java.util.regex.Matche ...
- 关于JAVA正则匹配空白字符的问题(全角空格与半角空格)
今天遇到一个字符串,怎么匹配空格都不成功!!! 我把空格复制到test.properties文件 显示“\u3000” ,这是什么? 这是全角空格!!! 查了一下 \s 不支持全角 1.& ...
- HBase总结(十一)hbase Java API 介绍及使用演示样例
几个相关类与HBase数据模型之间的相应关系 java类 HBase数据模型 HBaseAdmin 数据库(DataBase) HBaseConfiguration HTable 表(Table) H ...
- java cglib动态代理原理及样例
cglib动态代理: http://blog.csdn.net/xiaohai0504/article/details/6832990 一.原理 代理为控制要访问的目标对象提供了一种途径.当访问 ...
随机推荐
- linux 搭建Java环境
一.下载jdk/jre文件 下载链接 二.安装Java环境 1.解压文件到 /usr/java 目录 # tar zxvf jre-8u60-linux-x64.gz 2.配置环境变量 ...
- [LOJ6145]Easy
题意给出一棵树,每次询问一个点$x$到编号在$[l,r]$中的点的距离的最小值.$n,q\le 10^5$ 大概是最简单的动态点分治了,注意开大数组即可,如果改成求最大值这道题会有意思很多 代码: # ...
- flume 1.7 安装与使用
Flume安装 系统要求: 需安装JDK 1.7及以上版本 1. 下载二进制包 下载页面:http://flume.apache.org/download.html 1.7.0下载地址:http:// ...
- 【网络结构】MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications论文解析
目录 0. Paper link 1. Overview 2. Depthwise Separable Convolution 2.1 architecture 2.2 computational c ...
- 关于xftp连接不了Linux,但是却可以用xshell连接Linux
解决方法:用sftp协议,不要用ftp协议
- WinCE数据通讯之SqlCE数据同步篇
上一篇总结了WinCE通过WebService进行数据通讯的交互方式,今天整理个SqlCE数据同步方式的内容.先说下软件环境:终端平台使用WinCE5.0+SqlCE2.0,服务器使用Windows ...
- Visual Studio 2013 Ultimate & IIS Express 8.0 错误 [iisexpress.exe”已退出,返回值为 -1073741816 (0xc0000008)] 解决方法
1. 开发环境 Visual Studio 2013 Ultimate IIS 8.0 Express 2. 错误信息 错误提示:iisexpress.exe”已退出,返回值为 -1073741816 ...
- web.config文件配置解决网站上传大文件限制
Asp.Net网站对上传文件的大小,请求执行的时间都做了限制,上传的文件如果超过限制或者执行上传时间超出, 文件上传都将失败. 因此,需要配置web.config来增加最大文件上传的大小和执行超时时间 ...
- Solr学习总结 Solr的安装与配置
接着前一篇,这里总结下Solr的安装与配置 1.准备 1.安装Java8 和 Tomcat9 ,java和tomcat 的安装这里不再重复.需要注意的是这两个的版本兼容问题.貌似java8 不支持,t ...
- MyEclipse2014.Maven自动更新
1.我把 "Do not automatically update dependencies from remote repositories" 和 "Download ...