Foxtable(狐表)用户栏目专家坐堂 → 关于字段数据分割


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

主题:关于字段数据分割

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


加好友 发短信
等级:八尾狐 帖子:2040 积分:13063 威望:0 精华:0 注册:2017/4/3 15:01:00
关于字段数据分割  发帖心情 Post By:2019/4/16 8:41:00 [只看该作者]

怎样将字段中的数据分割成几个字段呢?比如用一个地址列:原数据是“***省***市***区**********”将他分割成“省”、“市”、"区"、“地址”四个字段,分别将其内容填入到相应的字段呢?并将元数据的***省***市***区删除掉。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/16 9:09:00 [只看该作者]


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


加好友 发短信
等级:八尾狐 帖子:2040 积分:13063 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/4/16 9:50:00 [只看该作者]

怎么给对应的字段赋值,并将元数据的***省***市***区删除掉呢?


还有就是第一次出现的“区”是属于哪个区的可是有的是小区的名字怎么区分开呢?
[此贴子已经被作者于2019/4/16 10:12:03编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/16 10:15:00 [只看该作者]

Dim str As String = "福建省泉州市惠安县山霞镇田边村委会159号"
'Dim str As String = "上海市aa区bb街cc路xx号"
Dim ary() As String = {"^", "(省|市|自治区)", "(市|区)", "县", "(镇|街)", "(村|会)", "$"}
Dim nr = Tables("表a").addnew
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)
            If i=0 Then
                nr("第一列") = mc.value.remove(mc.value.length-1)
            End If
            If i=1 Then
                nr("第二列") = mc.value.remove(mc.value.length-1)
            End If
            Exit For
        End If
    Next
Next


 


 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2040 积分:13063 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/4/16 10:33:00 [只看该作者]

甜老师怎么区分区域和小区的名字的区呢?
还有就是删除原数据中的省、市、区|县的部分字段呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/16 10:38:00 [只看该作者]

请举例说明你的问题,输入什么字符,最后输出什么字符?

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2040 积分:13063 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/4/16 10:50:00 [只看该作者]

比如 “河北省石家庄市长安区翟营北大街387号万国龙小区32号楼2单元302室”、“河北省石家庄裕华路联强小区12号楼2单元502室”、“河北省石家庄裕华区裕华路路306号”

第二个没有区域的区只有小区的区 ,第三个没有小区的区,像这类的问题怎么处理呢?

还有就分割的数据怎么没有省、市、区或县的字符呢?
[此贴子已经被作者于2019/4/16 11:13:52编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/16 11:18:00 [只看该作者]

 

你这种没有省、市分割的,无法直接提取。必须要做一个【省市区】的表,然后循环每一行,判断你的地址是否包含那些省、市、区,这样获取才行。


 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2040 积分:13063 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/4/16 11:23:00 [只看该作者]

怎样删除原数据中的省、市、区|县的部分字段呢?也就是说已经提出的部分

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/16 11:30:00 [只看该作者]

Dim str As String = "福建省泉州市惠安县山霞镇田边村委会159号"
'Dim str As String = "上海市aa区bb街cc路xx号"
Dim ary() As String = {"^", "(省|上海市|北京市|重庆市|天津市|自治区)", "(市|区)", "县", "(镇|街)", "(村)", "$"}
Dim nr = Tables("表a").addnew
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.remove(mc.value.length-1))
            If i=0 Then
                nr("第一列") = mc.value.remove(mc.value.length-1)
            End If
            If i=1 Then
                nr("第二列") = mc.value.remove(mc.value.length-1)
            End If
            Exit For
        End If
    Next
Next


 回到顶部
总数 20 1 2 下一页