|
@@ -266,7 +266,7 @@ public class AddrSplitLmrMap {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
- public static String deleteDisStr(String addressStr){
|
|
|
|
|
|
+ public static String deleteDisStr(String addressStr) {
|
|
Matcher disMatcher = Pattern.compile("(新城区|工业区|委员会|开发区|科技园区|村委会)").matcher(addressStr);
|
|
Matcher disMatcher = Pattern.compile("(新城区|工业区|委员会|开发区|科技园区|村委会)").matcher(addressStr);
|
|
if (disMatcher.find()) {
|
|
if (disMatcher.find()) {
|
|
addressStr = addressStr.substring(disMatcher.end());
|
|
addressStr = addressStr.substring(disMatcher.end());
|
|
@@ -305,9 +305,6 @@ public class AddrSplitLmrMap {
|
|
} else {
|
|
} else {
|
|
returnMap.put("楼栋号", nongTagMatcher.group(1));
|
|
returnMap.put("楼栋号", nongTagMatcher.group(1));
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
-// 不存在\d+(?:-+\d)?号
|
|
|
|
- returnMap.put("楼栋号", null);
|
|
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
// 不存在弄
|
|
// 不存在弄
|
|
@@ -324,28 +321,39 @@ public class AddrSplitLmrMap {
|
|
returnMap.put("楼栋号", nonghaoList[1]);
|
|
returnMap.put("楼栋号", nonghaoList[1]);
|
|
} else {
|
|
} else {
|
|
returnMap.put("弄号", nonghao);
|
|
returnMap.put("弄号", nonghao);
|
|
- returnMap.put("楼栋号", null);
|
|
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
returnMap.put("路名", remaining.substring(0, nongTagMatcher.start()));
|
|
returnMap.put("路名", remaining.substring(0, nongTagMatcher.start()));
|
|
returnMap.put("弄号", nongTagMatcher.group(1));
|
|
returnMap.put("弄号", nongTagMatcher.group(1));
|
|
- returnMap.put("楼栋号", null);
|
|
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
// 不存在\d+(?:-+\d)?号
|
|
// 不存在\d+(?:-+\d)?号
|
|
returnMap.put("路名", null);
|
|
returnMap.put("路名", null);
|
|
returnMap.put("弄号", null);
|
|
returnMap.put("弄号", null);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+// 添加解析楼栋号
|
|
|
|
+ Matcher homeMatcher = Pattern.compile("(\\d+[幢|栋])").matcher(remaining);
|
|
|
|
+ if (homeMatcher.find()) {
|
|
|
|
+ if (returnMap.containsKey("楼栋号")) {
|
|
|
|
+ returnMap.put("楼栋号", returnMap.get("楼栋号") + homeMatcher.group(1));
|
|
|
|
+ } else {
|
|
|
|
+ returnMap.put("楼栋号", homeMatcher.group(1));
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ if (!returnMap.containsKey("楼栋号")) {
|
|
returnMap.put("楼栋号", null);
|
|
returnMap.put("楼栋号", null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// 8. 解析房间号
|
|
// 8. 解析房间号
|
|
- Matcher roomMatcher = Pattern.compile("(\\d{3,4}(?:[室号房])?$)").matcher(remaining);
|
|
|
|
|
|
+ Matcher roomMatcher = Pattern.compile("([A-Za-z\\d]+(?:[室号房])?$)").matcher(remaining);
|
|
if (roomMatcher.find()) {
|
|
if (roomMatcher.find()) {
|
|
String roomNumber = roomMatcher.group(1);
|
|
String roomNumber = roomMatcher.group(1);
|
|
returnMap.put("室号", roomNumber);
|
|
returnMap.put("室号", roomNumber);
|
|
} else {
|
|
} else {
|
|
- Matcher roomMatcher2 = Pattern.compile("(\\d{3,4}[室号房])").matcher(remaining);
|
|
|
|
|
|
+ Matcher roomMatcher2 = Pattern.compile("([A-Za-z\\d]+[室号房])").matcher(remaining);
|
|
if (roomMatcher2.find()) {
|
|
if (roomMatcher2.find()) {
|
|
returnMap.put("室号", roomMatcher2.group(1));
|
|
returnMap.put("室号", roomMatcher2.group(1));
|
|
} else {
|
|
} else {
|