正则表达式,相信大家都不陌生。但在我们最常用的办公软件excel中,目前没有可直接使用正则表达式的函数(至少10版本的excel没有),那么今天我就分享下如何在excel中自定义正则函数。
一、提需求
比如,我要拆分下面的字符串:
显然这样的需求,用正则表达式再合适不过了。
二、解决步骤
下面我们使用的这个方法,定义出的函数将长期有效:
1、新建一个excel文件,我这里命名为re,随后按alt+f11打开宏编辑器,选中任意一个sheet,右键,选择插入模块:
2、双击模块1,编辑如下vba自定义函数代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
function re(oritext as string, rerule as string, replaceyesorno as boolean)
'' '
'oritext:待匹配的字符串
'rerule:正则表达式
'replaceyesorno:是否采用替换方法,1表示替换,0表示不替换,默认为不替换
'' '
'创建一个正则表达式实例对象
set reobject = createobject( "vbscript.regexp" )
with reobject
'是否区分大小写,一般需求是不用区分大小写,因此这里为 true
.ignorecase = true
'是否匹配所有,一般需求也都是匹配所有,这里也就默认是 true ,如果为 false 表示只匹配第一次出现的
.global = true
'匹配时所用到的正则表达式
.pattern = rerule
if replaceyesorno then
'如果使用替换方法,则将正则表达式匹配到的项替换为空
re = .replace(oritext, "" )
else
'否则,返回可迭代对象的第一项
re = .execute(oritext)(0)
end if
end with
end function
|
3、另存为加载宏格式:
4、点击下方的加载项:
5、点击浏览:
6、选择我们刚保存的加载宏格式文件,结果如下图:
好了,到这里我们的正则函数就创建好了,随后每次打开excel都可以直接使用定义的re函数,按照需求来敲出合适的正则表达式。
三、结果呈现
到此这篇关于正则表达式直接在excel中使用的详细步骤的文章就介绍到这了,更多相关正则表达式excel使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.cnblogs.com/xu-qingfeng/p/14540640.html