Foxtable(狐表)用户栏目专家坐堂 → 如何从一串文本中提取电话号码或手机号码?


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

主题:如何从一串文本中提取电话号码或手机号码?

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


加好友 发短信
等级:幼狐 帖子:174 积分:2349 威望:0 精华:0 注册:2015/8/12 15:36:00
如何从一串文本中提取电话号码或手机号码?  发帖心情 Post By:2015/12/14 0:28:00 [只看该作者]

如何从一串文本中提取电话号码或手机号码?,文本如下:
无锡每天有大量到全国各种各地的回程车,如你有需要用车,请联系。 18012361955
专业调无锡.苏州及周边到全国各地9.6 13 17.5米回程车 有五年调车经验 司机熟 安全可靠,合作无忧.有货敬请联系 !! 调回程车 调回程车 18012361955
专业调无锡.苏州及周边到全国各地9.6 13 17.5米回程车 有五年调车经验 司机熟 安全可靠,合作无忧.有货敬请联系 ! 18012361955
无锡货运交易市场每天有大量回程车到全国各地 如你有需要用车,请联系 18012361955 18012361955
专业调无锡苏州到全国各地9.6 13 17.5米回程车 价格便宜 有货请联系 18012361955
专业调无锡.苏州及周边到全国各地13 17.5米回程车 有五年调车经验车源多 安全可靠,合作无忧.有货敬请联系 !! 调回程车 18012361955

希望单纯地提取联系方式

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


加好友 发短信
等级:一尾狐 帖子:495 积分:3437 威望:0 精华:0 注册:2012/3/29 21:15:00
  发帖心情 Post By:2015/12/14 1:56:00 [只看该作者]

一个不太严谨的做法(供参考)

 

Dim str As String  = "请请18012361955联系18012361956请联系 18012361953"
For i As Integer = 0 To str.Length -1
    Dim mn As Integer = 0
    Dim 电话 As String = ""   
    If str.IndexOf("1",i) > 1 Then
        If str.Length - 12 > 0 Then
            电话 = str.SubString(str.IndexOf("1",i) ,11)
            For n As Integer = 0 To 10
                If Char.IsDigit(电话.Chars(n)) = False Then     ‘检证11位数字
                    i = i + n
                    Exit For
                Else
                    mn = mn + 1
                    i = i + 1
                   
                End If
            Next
            If mn = 11 Then
            Output.Show(电话)
            End If
        End If
    End If
    If str.Length - i < 11   Then
        Exit For
    End If
Next

[此贴子已经被作者于2015/12/14 2:00:14编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/12/14 7:51:00 [只看该作者]

Dim s As String = "专业调无锡.苏州及周边到全国各地9.6 13 17.5米回程车 有五年调车经验 司机熟 安全可靠,合作无忧.有货敬请联系 !! 调回程车 调回程车 18012361955"
Output.Show(s.Split(" ")(s.Split(" ").Length - 1))

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/12/14 8:55:00 [只看该作者]

手机号码:
Dim pattern As String = "[1][358][0-9]{9}"
Dim txt = "地 如你有需要用车,请联系 18012361955 需要用车,请联系  18066322955"
Dim rgx = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)

For Each  match As System.Text.RegularExpressions.Match In rgx.Matches(txt)
    Output.Show(match.Value )
Next

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


加好友 发短信
等级:幼狐 帖子:174 积分:2349 威望:0 精华:0 注册:2015/8/12 15:36:00
  发帖心情 Post By:2015/12/15 11:11:00 [只看该作者]

感觉感谢您的帮助、。
如果信息中也包含发如下内容。
 9.6→17.5米 回程车 装车就走 吨位不限 027-88127792
 0757-88522167

如何同时获取这种类型的号码?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/15 11:15:00 [只看该作者]

Dim pattern As String = "[1][358][0-9]{9}|[0][0-9]{2,3}-[0-9]{7,8}"
Dim txt = "地 如你有需要用车,请联系 18012361955 需要用车,请联系  027-88127792 0757-88522167"
Dim rgx = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)


For Each  match As System.Text.RegularExpressions.Match In rgx.Matches(txt)
    Output.Show(match.Value )
Next


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


加好友 发短信
等级:一尾狐 帖子:495 积分:3437 威望:0 精华:0 注册:2012/3/29 21:15:00
  发帖心情 Post By:2015/12/15 15:45:00 [只看该作者]

取用“正则”图片点击可在新窗口打开查看

 回到顶部