Le format des adresses japonaises publiées sur le net est généralement fixe. Il doit être affiché dans le flux du code postal vers la préfecture, la ville, le quartier et la ville. Et il existe de nombreuses spécifications telles que Google Geocoding en extrayant le code postal ou le nom de préfecture de l'expression régulière.
Ce à quoi vous devez faire attention ici, c'est que vous ne pouvez pas utiliser le mode gourmand pour extraire le nom de la préfecture ou le nom de la ville. Pas (. \ * Préfecture) mais (. \ *? Préfecture) Sinon, par exemple, le résultat de l'analyse de "Aichi Prefecture Nagoya City Prefectural Annex" sera extrait dans "Aichi Prefecture Nagoya City Prefecture" au lieu de "Aichi Prefecture".
String matchString = "〒066-0012\n" +
"Mimi, Chitose City, Hokkaido New Chitose Airport Domestic Terminal Building 2F";
Matcher matcher = Pattern.compile("\\s*〒(\\d{3}-\\d{4})[\\s ]*(.*?Capitale)?(.*?route)?(.*?Préfecture)?(.*?Préfecture)?(.*?ville)?(.*?quartier)?").matcher(matchString);
while (matcher.find()){
System.out.println("adresse de rue:" + matcher.group(0));
System.out.println();
System.out.println("Code postal:" + matcher.group(1));
System.out.println();
System.out.println("Nom de Ville:" + matcher.group(2));
System.out.println();
System.out.println("Nom de la route:" + matcher.group(3));
System.out.println();
System.out.println("Nom de la préfecture:" + matcher.group(4));
System.out.println();
System.out.println("Nom de la préfecture:" + matcher.group(5));
System.out.println();
System.out.println("Nom de Ville:" + matcher.group(6));
System.out.println();
System.out.println("Nom du quartier" + matcher.group(7));
}
adresse de rue:〒066-0012
Chitose City, Hokkaido
Code postal:066-0012
Nom de Ville:null
Nom de la route:Hokkaido
Nom de la préfecture:null
Nom de la préfecture:null
Nom de Ville:Chitose City
Nom du quartier nul
C'est un contenu simple, mais je l'ai posté parce que je pensais qu'il serait souvent utilisé.
Recommended Posts