|
- Sub test()
- arr = Sheets("表1").Range("a1").CurrentRegion.Resize(, 8)
- Set regx = CreateObject("vbscript.regexp")
- regx.Pattern = "^(.+?(?:省|自治区)|(?:重庆|北京|上海|天津)市?)?([^县]+?[市区])?([^镇]+?[县区市])?(.+?[镇乡])?.*$"
- For i = 2 To UBound(arr)
- If arr(i, 4) <> "" Then
- ar = Split(arr(i, 4), " ")
- If UBound(ar) > 0 Then s = ar(1) Else s = ar(0)
- Set mh = regx.Execute(s)
- If mh.Count <> 0 Then
- u = mh(0).submatches(0)
- If Right(u, 1) = "省" Or Right(u, 1) = "市" Then arr(i, 5) = Left(u, Len(u) - 1) Else arr(i, 5) = u
- u = mh(0).submatches(1)
- If Right(u, 1) = "市" Then arr(i, 6) = Left(u, Len(u) - 1) Else arr(i, 6) = u
- u = mh(0).submatches(2)
- If (Right(u, 1) = "县" Or Right(u, 1) = "市") And (Len(u) > 2) Then arr(i, 7) = Left(u, Len(u) - 1) Else arr(i, 7) = u
- u = mh(0).submatches(3)
- If (Right(u, 1) = "镇" Or Right(u, 1) = "乡") And (Len(u) > 2) Then arr(i, 8) = Left(u, Len(u) - 1) Else arr(i, 8) = u
- End If
- End If
- Next
- Sheets("表2").Range("a1").Resize(UBound(arr), 8) = arr
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|