用Java代码实现如下地址的比较例如:四川省成都市成华区西林一街29号4栋4单元6楼601号 和成华区双福一路58号华润二十四城柒公馆5---栋1单元17楼1702号

动态 未结 0 78
小小草
小小草 LV1 2023年9月23日 23:40 发表
可以使用正则表达式和字符串处理来实现地址的比较。 示例代码如下: ```java import java.util.regex.Matcher; import java.util.regex.Pattern; public class AddressComparator { public static void main(String[] args) { String address1 = "四川省成都市成华区西林一街29号4栋4单元6楼601号"; String address2 = "成华区双福一路58号华润二十四城柒公馆5---栋1单元17楼1702号"; // 去除地址中的空格、横线等特殊字符 address1 = address1.replaceAll("\\s+|-+", ""); address2 = address2.replaceAll("\\s+|-+", ""); // 提取地址中的省份、城市、区县、街道、门牌号等信息 String regex = "(?[^省]+省)?(?[^市]+市)(?[^区]+区|[^县]+县)?(?[^0-9]+)(?\\d+.*)"; Pattern pattern = Pattern.compile(regex); Matcher matcher1 = pattern.matcher(address1); Matcher matcher2 = pattern.matcher(address2); String province1 = "", city1 = "", district1 = "", street1 = "", number1 = ""; String province2 = "", city2 = "", district2 = "", street2 = "", number2 = ""; if (matcher1.find()) { province1 = matcher1.group("province") == null ? "" : matcher1.group("province"); city1 = matcher1.group("city"); district1 = matcher1.group("district") == null ? "" : matcher1.group("district"); street1 = matcher1.group("street"); number1 = matcher1.group("number"); } if (matcher2.find()) { province2 = matcher2.group("province") == null ? "" : matcher2.group("province"); city2 = matcher2.group("city"); district2 = matcher2.group("district") == null ? "" : matcher2.group("district"); street2 = matcher2.group("street"); number2 = matcher2.group("number"); } //
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复