地图信息精确到街道,如何截取省市县区的名字?
中国四川省成都市双流县文化路
中国北京市大兴区文化街
中国四川省成都市都江堰市建设路
文本如上,想要的输出为:
四川 成都 双流
北京 大兴
四川 成都 都江堰
地图信息精确到街道,如何截取省市县区的名字?
中国四川省成都市双流县文化路
中国北京市大兴区文化街
中国四川省成都市都江堰市建设路
文本如上,想要的输出为:
四川 成都 双流
北京 大兴
四川 成都 都江堰
[code="java"] public static void main(String[] args) {
String[] addresses = { "中国四川省成都市双流县文化路", "中国北京市大兴区文化街 ",
"中国四川省成都市都江堰市建设路" };
for (String address : addresses) {
System.out.println(testAddress(address));
}
}
static final Pattern pattern = Pattern.compile("[省市区县]");
public static String testAddress(String address) {
String[] names = pattern.split(address);
StringBuilder sb = new StringBuilder();
if (names[0].startsWith("中国")) {
sb.append(names[0].substring(2));
} else {
sb.append(names[0]);
}
for (int i = 1; i < names.length - 1; i++) {
sb.append(' ').append(names[i]);
}
return sb.toString();
}[/code]