Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3176|回复: 7

如何用正则提取手机号码

[复制链接]
发表于 2016-4-29 10:47 | 显示全部楼层 |阅读模式
本帖最后由 lingyuncelia1 于 2016-4-29 17:13 编辑

捕获.JPG
如上图示,有中文、标点符号、固话、手机号码,有时两个手机号码贴在一起,
肉眼分就容易,但如果数目多就累人了。
哪位大神可以赐教?

不规则的电话号码.zip

4.68 KB, 下载次数: 25

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-4-29 22:40 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2016-4-30 09:03 | 显示全部楼层
龙城飞将III 发表于 2016-4-29 22:40
这个很规律啊,.pattern="\d{11}"

有时 是固话与手机贴在一起,中间连个空格都没有的,比如8228123218928509694
回复

使用道具 举报

发表于 2016-4-30 23:00 | 显示全部楼层
那就要求登记的人长点心,最起码点个空格什么的,要不然懒死怎么办?

评分

参与人数 1 +1 收起 理由
lingyuncelia1 + 1

查看全部评分

回复

使用道具 举报

发表于 2016-5-1 19:17 | 显示全部楼层
Set reg = CreateObject("vbscript.regexp")
With reg
  .Global = True
  .Pattern = "1\d{10}"
End With
With Sheets(1)
   myrow = .Cells(65535, 1).End(xlUp).Row
   .Cells(2, 5).Resize(myrow, 2).ClearContents
  For i = 2 To myrow
   ss = .Cells(i, 1)
   Set myval = reg.Execute(ss)
   qq = 0
   For Each mm In myval
     qq = qq + 1
     .Cells(i, qq + 4) = mm
   Next
  Next i
End With

不规则的电话号码.rar

12.02 KB, 下载次数: 35

评分

参与人数 1 +3 收起 理由
lingyuncelia1 + 3

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-5-2 15:59 | 显示全部楼层
datongye 发表于 2016-5-1 19:17
Set reg = CreateObject("vbscript.regexp")
With reg
  .Global = True

小灵通:8302143918928509692,如果是这种呢?肉眼看得出是:18928509692,但reg.Pattern = "1\d{10}",会变成:
14391892850
回复

使用道具 举报

发表于 2016-6-13 12:13 | 显示全部楼层
lingyuncelia1 发表于 2016-5-2 15:59
小灵通:8302143918928509692,如果是这种呢?肉眼看得出是:18928509692,但reg.Pattern = "1\d{10}",会 ...

.Pattern = "1\d{10}(?=1|,|,|\s|、|/|$)"

评分

参与人数 1 +3 收起 理由
lingyuncelia1 + 3

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-6-13 15:17 | 显示全部楼层
ykqrs 发表于 2016-6-13 12:13
.Pattern = "1\d{10}(?=1|,|,|\s|、|/|$)"

过期新闻啦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-16 14:37 , Processed in 0.779634 second(s), 19 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表