我收到“街道编号邮政编码城市”形式的地址(作为字符串)。
我想做的是从邮政编码和城市中分割街道和数字。通常,您可以在空白处分割。但是有些街道名称中也包含空格,例如:“ Emile Van Ermengemlaan”。因此,在空白处分割是没有选择的。

邮政编码始终是4个单个数字,例如“ 1234”,“ 8560”,...,我认为这是一个选择。拆分邮政编码。但是我不知道该怎么做。有什么帮助吗?

编辑:
例子:


例子1

“ Graaf Karel de Goedelaan 1 8500 Kortrijk” =>“ Graaf Karel de Goedelaan 1”下一行“ 8500 Kortrijk”
例子2

“ Reigerstraat 24 8930 Lauwe” =>“ Reigerstraat 24”下一行“ 8930 Lauwe”

最佳答案

String input = "Graaf Karel De Goedelaan 1 8500 Kortrijk";
String[] results = input.split("([0-9]{4})");
String road = results[0].trim();
String city = results[1].trim();
String postcode = "";
Pattern p = Pattern.compile("([0-9]{4})");
Matcher m = p.matcher(input);
while(m.find()) {
    postcode = m.group(1);
}
System.out.println(input);
System.out.println("Road: " + road);
System.out.println("Postcode: " + postcode);
System.out.println("City: " + city);


给出:
    Graaf Karel De Goedelaan 1 8500科特赖克
    路:Graaf Karel De Goedelaan 1
    邮政编码:8500
    城市:科特赖克

和:
    Reigerstraat 24 8930劳威
    路:Reigerstraat 24
    邮政编码:8930
    城市:劳威

09-25 22:16