以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  对地址进行归类  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113910)

--  作者:zoudezhao
--  发布时间:2018/1/25 11:27:00
--  对地址进行归类

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目7.foxdb

这里面有个地址

福建省泉州市惠安县山霞镇田边村委会159号

如果我想打开窗口1 的时候 按照省市县镇村委会还有    159号 对应填入有没有好的方法。。


--  作者:有点甜
--  发布时间: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


--  作者:zoudezhao
--  发布时间:2018/1/26 9:05:00
--  

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


--  作者:zoudezhao
--  发布时间:2018/1/26 9:07:00
--  

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


--  作者:有点甜
--  发布时间: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

 


--  作者:有点甜
--  发布时间:2018/1/26 9:18:00
--  
以下是引用zoudezhao在2018/1/26 9:07:00的发言:

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

 

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


--  作者:zoudezhao
--  发布时间:2018/1/26 9:22:00
--  
好的感谢甜老师