各位老师,这是我写的一个分离具体地理位置的代码,运行时正常的,但就是觉得有点麻烦,而且不严谨,不知道有么有简答的解决方法
Dim addr As String="甘肃省兰州市安宁区马家镇银滩路街道"
Dim prov As String
Dim City As String
Dim Town As String
Dim cntsd As String
Dim cnt As String
If addr.contains("省")
Prov =addr.Substring(0,addr.Indexof("省")+1)
If addr.contains("市")
City=addr.Substring(addr.Indexof("省")+1,addr.Indexof("市")-addr.Indexof("省"))
If addr.contains("区")
Town=addr.Substring(addr.Indexof("市")+1,addr.Indexof("区")-addr.Indexof("市"))
If addr.contains("乡")
cntsd=addr.Substring(addr.Indexof("县")+1,addr.Indexof("乡")-addr.Indexof("县"))
If addr.contains("村")
cnt=addr.Substring(addr.Indexof("乡")+1,addr.Indexof("村")-addr.Indexof("乡"))
ElseIf addr.contains("街道")
cnt=addr.Substring(addr.Indexof("乡")+1,addr.Indexof("街道")-addr.Indexof("乡"))
End If
ElseIf addr.contains("镇")
cntsd=addr.Substring(addr.Indexof("县")+1,addr.Indexof("镇")-addr.Indexof("县"))
If addr.contains("村")
cnt=addr.Substring(addr.Indexof("镇")+1,addr.Indexof("村")-addr.Indexof("镇"))
ElseIf addr.contains("街道")
cnt=addr.Substring(addr.Indexof("镇")+1,addr.Indexof("街道")-addr.Indexof("镇"))
End If
End If
ElseIf addr.contains("县")
Town=addr.Substring(addr.Indexof("市")+1,addr.Indexof("县")-addr.Indexof("市"))
If addr.contains("乡")
cntsd=addr.Substring(addr.Indexof("县")+1,addr.Indexof("乡")-addr.Indexof("县"))
If addr.contains("村")
cnt=addr.Substring(addr.Indexof("乡")+1,addr.Indexof("村")-addr.Indexof("乡"))
ElseIf addr.contains("街道")
cnt=addr.Substring(addr.Indexof("乡")+1,addr.Indexof("街道")-addr.Indexof("乡"))
End If
ElseIf addr.contains("镇")
cntsd=addr.Substring(addr.Indexof("县")+1,addr.Indexof("镇")-addr.Indexof("县"))
If addr.contains("村")
cnt=addr.Substring(addr.Indexof("镇")+1,addr.Indexof("村")-addr.Indexof("乡"))
ElseIf addr.contains("街道")
cnt=addr.Substring(addr.Indexof("镇")+1,addr.Indexof("街道")-addr.Indexof("乡"))
End If
End If
End If
End If
End If
output.show(prov & City & Town & cntsd & cnt)