更新時(shí)間:2022-04-19 08:23:47 來源:動力節(jié)點(diǎn) 瀏覽4295次
正則表達(dá)式對于驗(yàn)證和操作數(shù)據(jù)非常有用。不幸的是,Excel 中沒有對正則表達(dá)式的內(nèi)置支持。您可以使用 VBA,但這有點(diǎn)太亂了。
在 Excel 插件 SeoTools 中,添加了四種方法:
=RegexpIsMatch(string input; string expr)
將輸入字符串與正則表達(dá)式匹配,如果匹配則返回 true。
=RegexpFind(string input; string expr; int group)
采用正則表達(dá)式并從輸入字符串中檢索匹配的組。
=RegexpFindOnUrl(string url; string regexp; int group)
與 RegexpFind 相同,但輸入字符串是網(wǎng)頁的內(nèi)容。
=RegexpReplace(string input; string expr; string replacement)
在指定的輸入字符串中,用指定的替換字符串替換與指定正則表達(dá)式匹配的所有字符串。
以下所有示例均假定您已下載 SeoTools 并將其添加到您正在處理的文檔中。
假設(shè)您有一列包含一堆電子郵件地址,并且您想要查找所有無效地址。以下公式將為所有無效的電子郵件地址返回 FALSE:
=RegexpIsMatch(“[email protected]”;”^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$”)
現(xiàn)在假設(shè)您有一個(gè)包含文本的列,您想從中提取特定部分,即“Sports (id:4)”,我們想將“4”提取到新列中。
=RegexpFind(A1;”\(id:(\d+)\)”;1)
對于最后一個(gè)示例,我們使用 SeoTools 中的正則表達(dá)式支持嘗試一些簡單的網(wǎng)絡(luò)抓取。在我們的示例中,我們有一組關(guān)鍵字,并希望讓公式返回搜索返回的頁數(shù)。
=RegexpFindOnUrl(“https://www.google.com/search?q=”&UrlEncode(A1);”About ([0-9,]*) results”;1)
對于 SeoTools 中標(biāo)有“(緩存)”的函數(shù)(例如 RegexpFindOnUrl),每個(gè)“會話”只會獲取一次 URL。因此,如果您要從網(wǎng)頁中提取多個(gè)部分,則即使您在不同的公式中多次引用 URL,頁面的源也只會下載一次。
以上就是關(guān)于“在Excel中使用正則表達(dá)式”的介紹,大家如果對此比較感興趣,想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門到精通,通俗易懂,適合小白學(xué)習(xí),希望對大家能夠有所幫助。
初級 202925
初級 203221
初級 202629
初級 203743