import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class UtilTools {
/**
* 地址解析
* @param str
* @return
*/
public final static Map<String,String> analysisAddress(String str){
if(str!=null) {
String regex = "(?<province>.*?自治区|.*?省|.*?行政区|.*?市)(?<city>.*?自治州|.*?地区|.*?行政单位|市辖区|.*?市)?(?<county>.*?市|.*?县|.*?区)?(?<village>.*)";
Map<String,String> address=new HashMap<>();
//传入地址按正则解析
Matcher m=Pattern.compile(regex).matcher(str);
//读取地址信息,按正则分割
while(m.find()){
address.put("province", m.group("province")==null?"":m.group("province").trim());
address.put("city", m.group("city")==null?"":m.group("city").trim());
address.put("county", m.group("county")==null?"":m.group("county").trim());
address.put("village", m.group("village")==null?"":m.group("village").trim());
}
return address;
}else {
return null;
}
}
}