目錄
- 一、提需求
- 二、解決步驟
- 三、結(jié)果呈現(xiàn)
正則表達(dá)式,相信大家都不陌生。但在我們最常用的辦公軟件EXCEL中,目前沒(méi)有可直接使用正則表達(dá)式的函數(shù)(至少10版本的EXCEL沒(méi)有),那么今天我就分享下如何在EXCEL中自定義正則函數(shù)。
一、提需求
比如,我要拆分下面的字符串:

顯然這樣的需求,用正則表達(dá)式再合適不過(guò)了。
二、解決步驟
下面我們使用的這個(gè)方法,定義出的函數(shù)將長(zhǎng)期有效:
1、新建一個(gè)EXCEL文件,我這里命名為RE,隨后按ALT+F11打開(kāi)宏編輯器,選中任意一個(gè)sheet,右鍵,選擇插入模塊:

2、雙擊模塊1,編輯如下VBA自定義函數(shù)代碼:
Function RE(OriText As String, ReRule As String, ReplaceYesOrNo As Boolean)
'''
'OriText:待匹配的字符串
'ReRule:正則表達(dá)式
'ReplaceYesOrNo:是否采用替換方法,1表示替換,0表示不替換,默認(rèn)為不替換
'''
'創(chuàng)建一個(gè)正則表達(dá)式實(shí)例對(duì)象
Set ReObject = CreateObject("vbscript.regexp")
With ReObject
'是否區(qū)分大小寫(xiě),一般需求是不用區(qū)分大小寫(xiě),因此這里為T(mén)rue
.IgnoreCase = True
'是否匹配所有,一般需求也都是匹配所有,這里也就默認(rèn)是True,如果為False表示只匹配第一次出現(xiàn)的
.Global = True
'匹配時(shí)所用到的正則表達(dá)式
.Pattern = ReRule
If ReplaceYesOrNo Then
'如果使用替換方法,則將正則表達(dá)式匹配到的項(xiàng)替換為空
RE = .Replace(OriText, "")
Else
'否則,返回可迭代對(duì)象的第一項(xiàng)
RE = .Execute(OriText)(0)
End If
End With
End Function
3、另存為加載宏格式:

4、點(diǎn)擊下方的加載項(xiàng):

5、點(diǎn)擊瀏覽:

6、選擇我們剛保存的加載宏格式文件,結(jié)果如下圖:

好了,到這里我們的正則函數(shù)就創(chuàng)建好了,隨后每次打開(kāi)EXCEL都可以直接使用定義的RE函數(shù),按照需求來(lái)敲出合適的正則表達(dá)式。
三、結(jié)果呈現(xiàn)

到此這篇關(guān)于正則表達(dá)式直接在EXCEL中使用的詳細(xì)步驟的文章就介紹到這了,更多相關(guān)正則表達(dá)式EXCEL使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Java使用正則表達(dá)式檢索、替換String中特定字符和正則表達(dá)式的一切
- python中使用正則表達(dá)式將所有符合條件的字段全部提取出來(lái)
- layui 正則表達(dá)式驗(yàn)證使用實(shí)例詳解
- Go語(yǔ)言正則表達(dá)式的使用詳解