|
@@ -176,6 +176,12 @@ public class ShanghaiAddressSplitUtil {
|
|
|
if (key > 0 && name.equals("江镇") && targetString.charAt(key - 1) == '松') {
|
|
|
iterator.remove();
|
|
|
}
|
|
|
+ if (key > 0 && name.equals("镇江")) {
|
|
|
+ String sub1 = targetString.substring(key+2);
|
|
|
+ if (LEVEL_3_SUFFIX_PATTERN.matcher(sub1).matches()) {
|
|
|
+ iterator.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
communityMap.putAll(results);
|
|
|
//仅有一个选择时当成一选
|
|
@@ -309,8 +315,10 @@ public class ShanghaiAddressSplitUtil {
|
|
|
//检查是否在外省,未找到省市或者在省市中找到上海,或者找到上海的区都算作省内
|
|
|
Map<Integer, String> districtContainResult = contain(beautyAddress, DISTRICT_TO_COMMUNITY_MAP.keySet(), 0);
|
|
|
int disIndex= washResult(beautyAddress, districtContainResult,LEVEL_1_SUFFIX_PATTERN);
|
|
|
+ Map<Integer, String> streetContainResult = contain(beautyAddress, STREET_TO_COMMUNITY_MAP.keySet(), 0);
|
|
|
+ int streetIndex= washResult(beautyAddress, districtContainResult,LEVEL_2_SUFFIX_PATTERN);
|
|
|
if (!((result[0].isEmpty()|| result[0].equals("上海市")) && (result[1].isEmpty() || result[1].equals("上海市"))||
|
|
|
- !districtContainResult.isEmpty())) {
|
|
|
+ !districtContainResult.isEmpty()||!streetContainResult.isEmpty())) {
|
|
|
splitAddress.setStatus(2);
|
|
|
splitAddress.setAddr(result[3]);
|
|
|
return splitAddress;
|