Das Format der im Internet veröffentlichten japanischen Adressen ist normalerweise festgelegt. Es sollte im Fluss von der Postleitzahl zur Präfektur, Stadt, Gemeinde und Stadt angezeigt werden. Und es gibt viele Spezifikationen wie Google Geocoding durch Extrahieren der Postleitzahl oder des Präfekturnamens des regulären Ausdrucks.
Was Sie hier beachten müssen, ist, dass Sie den gierigen Modus nicht verwenden können, um den Namen der Präfektur oder der Stadt zu extrahieren. Nicht (. \ * Präfektur) sondern (. \ *? Präfektur) Andernfalls wird beispielsweise das Analyseergebnis des "Anhangs der Präfektur Nagoya der Präfektur der Präfektur Nagoya" in die Präfektur der Präfektur Nagoya der Präfektur Aichi anstelle der Präfektur Aichi extrahiert.
String matchString = "〒066-0012\n" +
"Mimi, Chitose City, Hokkaido New Chitose Flughafen Inlandsterminal Gebäude 2F";
Matcher matcher = Pattern.compile("\\s*〒(\\d{3}-\\d{4})[\\s ]*(.*?Hauptstadt)?(.*?Straße)?(.*?Präfektur)?(.*?Präfektur)?(.*?Stadt)?(.*?Station)?").matcher(matchString);
while (matcher.find()){
System.out.println("Adresse:" + matcher.group(0));
System.out.println();
System.out.println("Postleitzahl:" + matcher.group(1));
System.out.println();
System.out.println("Stadtname:" + matcher.group(2));
System.out.println();
System.out.println("Straßenname:" + matcher.group(3));
System.out.println();
System.out.println("Präfekturname:" + matcher.group(4));
System.out.println();
System.out.println("Präfekturname:" + matcher.group(5));
System.out.println();
System.out.println("Stadtname:" + matcher.group(6));
System.out.println();
System.out.println("Stationsname" + matcher.group(7));
}
Adresse:〒066-0012
Chitose City, Hokkaido
Postleitzahl:066-0012
Stadtname:null
Straßenname:Hokkaido
Präfekturname:null
Präfekturname:null
Stadtname:Chitose City
Stationsname null
Es ist ein einfacher Inhalt, aber ich habe ihn gepostet, weil ich dachte, er würde oft verwendet.
Recommended Posts