当前位置 博文首页 > 正则表达式直接在EXCEL中使用的详细步骤

    正则表达式直接在EXCEL中使用的详细步骤

    作者:徐-清风 时间:2021-08-15 18:59

    目录
    • 一、提需求
    • 二、解决步骤
    • 三、结果呈现

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

    一、提需求

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

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

    二、解决步骤

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

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

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

    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函数,按照需求来敲出合适的正则表达式。

    三、结果呈现

    jsjbwy
    下一篇:没有了