excel 中如何使用正则表达式函数提取或替换内容
发布时间:2023-06-24 06:19:24
word中自带正则表达式,不过Excel中却没有内置。可以在VBA中定义一个正则表达式函数,然后Excel中就可以调用了。VBA代码如下(VBA高亮无效,凑合着看):
1.Function ExStr(Str As String, Parttern As String, ActionID As Integer, Optional RepStr As String = "")
2. Dim regex As Object
3. Set regex = CreateObject("vbscript.regexp")
4. With regex
5. .Global = True
6. .IgnoreCase = True
7. .MultiLine = True
8. .Pattern = Parttern
9. End With
10. Select Case ActionID
11. Case 1: '替换
12. ExStr = regex.Replace(Str, RepStr)
13. Case 2: '判断
14. ExStr = regex.test(Str)
15. Case 3: '提取
16. Dim matches As Object
17. Set matches = regex.Execute(Str)
18. For Each Match In matches
19. ExStr = ExStr & Match.Value
20. Next
21. End Select
22.End Function
'正则表达式 V2
'增加:完善注释
'函数ExStr功能,根据正则表达式,替换或判断或提取字符串
'参数 str 源字符串
'参数 Parttern 正则表达式字符串
'参数 ActionID
'函数功能
'1正则方法一,替换符合正则表达式的字符,可选参数RepStr为替换值
'2正则方法二 判断是否有符合正则表达式,有返回“TRUE”,无返回“FALSE”
'3正则方法三,提取符合正则表达式的字符
'参数 Repstr 指定替换的字符,可选项,默认为空
'附常用几个正则表达式
'第二个参数Parttern为正则表达式,按规则使用即可。使用该函数会自动得到匹配结果
'例如,要提取4位数,如下调用即可:=exStr(A1,"d{4}",3)
'替换:=ExStr(B2,"d{4}",1,"0713")
'判断:=ExStr(C2,"d{4}",2)
'匹配4位数 d{4}
'
'匹配中文字符 [u4e00-u9fa5]
'匹配双字节字符(包括汉字在内):[^x00-xff]
'匹配空白行的正则表达式:ns*r
'匹配HTML标记的正则表达式:
'匹配首尾空白字符的正则表达式:^s*|s*$ 可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
'匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
'匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
'匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
'匹配国内电话号码:d{3}-d{8}|d{4}-d{7} 匹配形式如 0511-4405222 或 021-87888822
'匹配腾讯QQ号:[1-9][0-9]{4,}
'匹配中国邮政编码:[1-9]d{5}(?!d)
'匹配身份证:d{15}|d{18}
'匹配ip地址:d+.d+.d+.d+


猜你喜欢
- 怎么设置bios的显存呢?接下来就和小编一起来看看对bios内存显示的相关操作吧,首先第一步你肯定得进入电脑的bios界面,才可以进行相关内
- 网络延迟是常见的电脑问题之一,如果你的电脑网络出现延迟,可以使用ping命令来检测,通过ping命令查看反回数据的时间来查看网络延迟、是否通
- win11怎么查看ip地址?每个人的电脑都有着单独的ip地址,在进行文件共享或者其他操作时就需要用到电脑的ip地址,但是有些用户不知道自己电
- 雷电模拟器是一款好用的电脑模拟软件,很多用户在使用雷电模拟器的时候,想知道怎么断开网络,那么我们应该怎么操作呢?下面就为大家介绍详细的操作步
- 在今天的金山wps教程中,我们将跟大家分享的是金山wps文字另存为:pdf格式文档、excel文档、doc文档的方法。相信很多网友看到这个标
- 本设计通过Android 操作系统的移动设备对个人计算机进行控制,从而对幻灯片、MediaPlayer 等软件或桌面进行远程操作。完成了Me
- 小编的电脑在升级Win10 1909系统后便出现了一个奇怪的现象,那就是每次开机后都会显示出更新前后的两个系统。那么,Win10 1909开
- FlashFXP查看ftp密码技巧?FlashFXP支持目录和子目录的文件传输,删除;支持上传和下载等功能,是一款强大的FXP/FTP软件,
- 如何在wps表格中绘制条形图1.打开WPS演示软件,进入WPS演示操作界面,如图所示:2.在此界面中找到插入选项,如图所示:3.单击“插入选
- 终于用上了 Word 2016 了,虽然我一直觉着 Word 2010 很好,但是没办法,看着大家很多人使用 Word 2016,我也用用吧
- 今天脚本之家编辑为大家收集一些有关表头共享的办法!需要的朋友可以参考下。1、先看EXCEL中如何共享表头: 分为二种情况,一是在输入时在不同
- CAXA2020是一款十分好用的行业办公软件,非常多的童鞋们都是第一次使用这款软件,白天使用的时候黑乎乎的背景底色让我们错过很多细节,怎么把
- 苹果在昨天凌晨推送了iOS9.1 beta4更新,已升级iOS9.1 beta3的用户可直接OTA升级,而拥有iOS开发者帐号的用户也可以通
- 生活中WiFi依然成为我们的必需品,不管是上网浏览,还是娱乐看电影都会连着WiFi,一个WiFi的快慢往往也影响着我们上网的体验,三五个人连
- Win10用户升级了KB5005565补丁以后出现了共享打印机打印不了的情况,用户只有卸载这个补丁才能正常使用打印机,但是不少用户发现,KB
- Application Wizard for Mac是一款系统文件及软件快速启动管理程序,它可以帮助用户快速打开需要使用和常用的项目而省去搜
- 我们截图都是用QQ来截取的,如果没有联网,QQ自然无法登陆,那么该怎么截图了?虽然键盘上的PrtScreen键可以进行截图,但是只是全屏幕的
- 通过电脑连接打印机能够将自己需要的文件打印出来,无论是学生打印作业,上班族打印文件都是可以的,但是很多小伙伴在电脑升级了win11之后,发现
- 方法与步骤:1、编辑好预期在每一页都显示的签名栏等内容;2、点选【页面布局】,并选取【打印标题】项,调出相应菜单栏;3、点选【工作表】,设定
- Win10如何关闭445端口?很多用户想要关闭系统445端口的原因就是因为黑客可以通过这个端口偷偷访问用户的共享文件夹或是共享打印机,对我们