溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2021-03-17 14:29:41 來源:億速云 閱讀:954 作者:Leah 欄目:開發(fā)技術(shù)

如何在EXCEL中使用正則表達式?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

一、需求

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

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

顯然這樣的需求,用正則表達式再合適不過了。

二、解決步驟

下面我們使用的這個方法,定義出的函數(shù)將長期有效:

1、新建一個EXCEL文件,我這里命名為RE,隨后按ALT+F11打開宏編輯器,選中任意一個sheet,右鍵,選擇插入模塊:

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

2、雙擊模塊1,編輯如下VBA自定義函數(shù)代碼:

Function RE(OriText As String, ReRule As String, ReplaceYesOrNo As Boolean)
'''
'OriText:待匹配的字符串
'ReRule:正則表達式
'ReplaceYesOrNo:是否采用替換方法,1表示替換,0表示不替換,默認為不替換
'''

'創(chuàng)建一個正則表達式實例對象
Set ReObject = CreateObject("vbscript.regexp")

With ReObject

 '是否區(qū)分大小寫,一般需求是不用區(qū)分大小寫,因此這里為True
 .IgnoreCase = True

 '是否匹配所有,一般需求也都是匹配所有,這里也就默認是True,如果為False表示只匹配第一次出現(xiàn)的
 .Global = True

 '匹配時所用到的正則表達式
 .Pattern = ReRule

 If ReplaceYesOrNo Then

  '如果使用替換方法,則將正則表達式匹配到的項替換為空
  RE = .Replace(OriText, "")

 Else
  '否則,返回可迭代對象的第一項
  RE = .Execute(OriText)(0)

 End If

End With

End Function

3、另存為加載宏格式:

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

4、點擊下方的加載項:

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

5、點擊瀏覽:

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

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

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

好了,到這里我們的正則函數(shù)就創(chuàng)建好了,隨后每次打開EXCEL都可以直接使用定義的RE函數(shù),按照需求來敲出合適的正則表達式。

三、結(jié)果呈現(xiàn)

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

看完上述內(nèi)容,你們掌握如何在EXCEL中使用正則表達式的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI