最近有个需求需要解析用户的地址,在网上翻了不少,结合用户的一些地址习惯改了下,主要是针对,直辖市进行了更改(ps:大部分人直辖市只会写一次市 北京市朝阳区XXX类似这样,但是网上大多是 对于北京市北京市朝阳区这类才能进行解析).不多说了上代码:
package com.test;
import org.apache.commons.lang.StringUtils;
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 addressSpiltTest {
public static void main(String[] args) {
List<String> addresses = new ArrayList<>();
addresses.add("北京市朝阳区国家会议中心");
addresses.add("北京朝阳区");
addresses.add("广东省深圳市南山区深云村");
addresses.add("深圳市南山区南山大道光大村");
addresses.add("深圳南山巴啦啦");
addresses.add("深圳南山区啦啦啦");
addresses.add("香港");
addresses.add("北京朝阳啦啦啦");
addresses.add("上海市真华路XX弄XX号XXX室");
addresses.add("天津市汉沽区明城北岸XXX");
addresses.add("广东省开平市新昌新安路XXXX");
addresses.add("湖南省郴州市临武县舜峰镇两路交叉口");
addresses.add("广东省广州市六运X街X号XXX");
addresses.add("广东省广州市黄浦区测试小区2栋");
addresses.add("香港九龙XXXXX");
for(int i=0; i<addresses.size(); i++) {
Str