以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎样提取介于某两字之间的数字  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125475)

--  作者:qjm107
--  发布时间:2018/9/28 22:12:00
--  [求助]怎样提取介于某两字之间的数字
各位专家们
      大家好,我现在有个任务,在我上传的附件“提取门牌号中”,地址列中有许多汉字数不相等也不规则,且门牌号的数字有的位于“路“和”号”字间,有的位于“街“和”号”字间,有的还带“—”符号,而我现在想在右边一列“提取门牌号”中把门牌号的数字和符号提取出来,请问怎样实现?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:提取门牌号.table


--  作者:qjm107
--  发布时间:2018/9/28 22:13:00
--  
前三个我已给出示例。
--  作者:有点蓝
--  发布时间:2018/9/28 22:35:00
--  
例如

Dim s As String = "云南省曲靖市沾益区春华街625号7幢4楼"
Dim p As String = "[路|街].*号"
Dim rgx = new System.Text.RegularExpressions.Regex(p, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
Dim res As String = rgx.Match(s).Value
Output.Show(res )
Output.Show(res.Replace("街","").Replace("路","").Replace("号","") )

--  作者:qjm107
--  发布时间:2018/9/29 22:44:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:想要的结果1.jpg
图片点击可在新窗口打开查看
有点蓝
      你好,这样的结果是显示在了命令窗口的左下角,而我希望的结果是对应的
图片点击可在新窗口打开查看此主题相关图片如下:实际结果1.jpg
图片点击可在新窗口打开查看
显示在右边的一列“提取门牌号”中。

--  作者:有点蓝
--  发布时间:2018/9/30 9:23:00
--  
参考这里4楼的用法,自己处理一下:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=125476
--  作者:qjm107
--  发布时间:2018/9/30 21:16:00
--  
有点蓝
    你好,我模仿写出了如下代码,可还是不行,请问错在哪儿?
For Each r As Row In Tables("表A").rows
    If r.isnull("地址") = False
        Dim s As String = ("地址")
        Dim p As String = "[路|街].*号"
        Dim rgx = new System.Text.RegularExpressions.Regex(p, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
        Dim res As String = rgx.Match(s).Value
        Output.Show(res )
        Output.Show(res.Replace("街","").Replace("路","").Replace("号","") )
        r("提取门牌号") = r("地址").Output.Show(res )
        (p, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
    End If
Next

--  作者:有点甜
--  发布时间:2018/10/4 10:51:00
--  

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=113910&skin=0

 

 


--  作者:有点甜
--  发布时间:2018/10/4 10:53:00
--  
For Each r As Row In Tables("表A").rows
    If r.isnull("地址") = False
        Dim s As String = r("地址")
        Dim p As String = "[路|街].*号"
        Dim rgx = new System.Text.RegularExpressions.Regex(p, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
        Dim res As String = rgx.Match(s).Value
        r("提取门牌号") = res.Replace("街","").Replace("路","").Replace("号","")
   End If
Next

--  作者:qjm107
--  发布时间:2018/10/8 22:19:00
--  
谢谢你,有点甜,这次结果能出来了。