Java 正则表达式提取地址信息 - 去除省市区号
可以使用正则表达式来提取地址中去除省、市、区、号的内容。以下是一个示例代码:
String address = '上海市浦东新区张江高科技园区华夏东路800号';
String regex = '(?<province>[^省]+省)?(?<city>[^市]+市)?(?<district>[^区]+区)?(?<address>[^号]+号)?';
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(address);
if (matcher.find()) {
String result = matcher.group('address').trim();
if (matcher.group('district') != null) {
result = matcher.group('district').trim() + result;
}
if (matcher.group('city') != null) {
result = matcher.group('city').trim() + result;
}
if (matcher.group('province') != null) {
result = matcher.group('province').trim() + result;
}
System.out.println(result);
}
这个示例代码将会输出:张江高科技园区华夏东路800。其中,正则表达式中的 (?<province>[^省]+省)、(?<city>[^市]+市)、(?<district>[^区]+区)、(?<address>[^号]+号) 分别表示提取省、市、区、号之间的内容。在提取出来的结果中,需要将省、市、区的内容拼接到一起。
原文地址: https://www.cveoy.top/t/topic/ozw1 著作权归作者所有。请勿转载和采集!