Foxtable(狐表)用户栏目专家坐堂 → 对地址进行归类


  共有2350人关注过本帖树形打印复制链接

主题:对地址进行归类

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/25 12:46:00 [显示全部帖子]

如果省市等字符正常出现的话,就容易提取。如果写入不规范,那就肯定提取失败。

 

Dim str As String = "福建省泉州市惠安县山霞镇田边村委会159号"
Dim ary() As String = {"^", "省", "市", "县", "镇", "村|会", "$"}
For i As Integer = 0 To 5
    For j As Integer = i To 0 Step -1
        Dim mc = System.Text.RegularExpressions.Regex.Match(str, "(?<=" & ary(j) & ").+" & ary(i+1))
        If mc.success Then
            msgbox(ary(i+1) & ":" & mc.value)
            Exit For
        End If
    Next
Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/26 9:18:00 [显示全部帖子]

以下是引用zoudezhao在2018/1/26 9:05:00的发言:

甜老师如果首级是上海市或者自治区呢。。第四级有的是街道之类的都要。都要通过这种方式判断么。。

 

'Dim str As String = "福建省泉州市惠安县山霞镇田边村委会159号"
Dim str As String = "上海市aa区bb街cc路xx号"
Dim ary() As String = {"^", "(省|市|自治区)", "(市|区)", "县", "(镇|街)", "(村|会)", "$"}
For i As Integer = 0 To 5
    For j As Integer = i To 0 Step -1
        Dim mc = System.Text.RegularExpressions.Regex.Match(str, "(?<=" & ary(j) & ").+" & ary(i+1))
        If mc.success Then
            msgbox(ary(i+1) & ":" & mc.value)
            Exit For
        End If
    Next
Next

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/26 9:18:00 [显示全部帖子]

以下是引用zoudezhao在2018/1/26 9:07:00的发言:

是不是在每一级加上分割符更好些

 

肯定是自己加上分隔符这样好一些。


 回到顶部