我收到“街道编号邮政编码城市”形式的地址(作为字符串)。
我想做的是从邮政编码和城市中分割街道和数字。通常,您可以在空白处分割。但是有些街道名称中也包含空格,例如:“ 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
城市:劳威