正则表达式如何直接在EXCEL中使用?

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

正则表达式如何直接在EXCEL中使用?

徐-清风   2021-03-16 我要评论

正则表达式,相信大家都不陌生。但在我们最常用的办公软件EXCEL中,目前没有可直接使用正则表达式的函数(至少10版本的EXCEL没有),那么今天我就分享下如何在EXCEL中自定义正则函数。

一、提需求

比如,我要拆分下面的字符串:

显然这样的需求,用正则表达式再合适不过了。

二、解决步骤

下面我们使用的这个方法,定义出的函数将长期有效:

1、新建一个EXCEL文件,我这里命名为RE,随后按ALT+F11打开宏编辑器,选中任意一个sheet,右键,选择插入模块:

2、双击模块1,编辑如下VBA自定义函数代码:

 1 Function RE(OriText As String, ReRule As String, ReplaceYesOrNo As Boolean)
 2 '''
 3 'OriText:待匹配的字符串
 4 'ReRule:正则表达式
 5 'ReplaceYesOrNo:是否采用替换方法,1表示替换,0表示不替换,默认为不替换
 6 '''
 7 
 8 '创建一个正则表达式实例对象
 9 Set ReObject = CreateObject("vbscript.regexp")
10 
11 With ReObject
12 
13     '是否区分大小写,一般需求是不用区分大小写,因此这里为True
14     .IgnoreCase = True
15     
16     '是否匹配所有,一般需求也都是匹配所有,这里也就默认是True,如果为False表示只匹配第一次出现的
17     .Global = True
18     
19     '匹配时所用到的正则表达式
20     .Pattern = ReRule
21     
22     If ReplaceYesOrNo Then
23         
24         '如果使用替换方法,则将正则表达式匹配到的项替换为空
25         RE = .Replace(OriText, "")
26         
27     Else
28         '否则,返回可迭代对象的第一项
29         RE = .Execute(OriText)(0)
30 
31     End If
32     
33 End With
34 
35 End Function

3、另存为加载宏格式:

4、点击下方的加载项:

5、点击浏览:

6、选择我们刚保存的加载宏格式文件,结果如下图:

 

好了,到这里我们的正则函数就创建好了,随后每次打开EXCEL都可以直接使用定义的RE函数,按照需求来敲出合适的正则表达式。

三、结果呈现

大家赶快也尝试起来吧,谁用谁爽。

 

以上就是本次分享的内容,如有任何疑问,欢迎下方留言,或公众号【转行学数据分析】联系我!

 

原文链接:https://www.cnblogs.com/xu-qingfeng/p/14540640.html

本文版权归作者和博客园共有,欢迎转载。但必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们