正規表現は身分証明書の住所によって省市、区県、郷鎮、コミュニティ、村名を取得する
1582 ワード
Javaコード
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author yang
* @Title: TestMain.java
* @Package
* @Description:
* @date 2018 11 21 9:41
*/
public class TestMain {
public static void main(String[] args) {
String address = " 188 ";
System.out.println( addressResolution(address).toString());
}
public static Map addressResolution(String address) {
String regex="(?[^ ]+ |[^ ]+ |[^ ]+ |[^ ]+ |.+ )(?[^ ]+ |[^ ]+ |[^ ]+ |.+ )?(?[^ ]+ |.+ |.+ )?(?.*)";
Matcher m=Pattern.compile(regex).matcher(address);
String province=null,city=null,county=null,town=null,village=null;
Map row=null;
while(m.find()){
row=new LinkedHashMap();
city=m.group("city");
row.put("city", city==null?"":city.trim());
county=m.group("county");
row.put("county", county==null?"":county.trim());
town=m.group("town");
row.put("town", town==null?"":town.trim());
village=m.group("village");
row.put("village", village==null?"":village.trim());
}
return row;
}
}