正則表達式如何直接在EXCEL中使用?


正則表達式,相信大家都不陌生。但在我們最常用的辦公軟件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

本文版權歸作者和博客園共有,歡迎轉載。但必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM