| 
					
				 | 
			
			
				@@ -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; 
			 |