|
??點(diǎn)擊查看最近五篇原創(chuàng)文章?? 龍逸凡的Excel視頻課程
需求 在字符集中剔除個(gè)別字符,比如,提取除“的”和“懶”之外的漢字 ![]()
方法一:暴力羅列法 直接分段羅列 以前寫過文章,介紹為什么可以用[一-龜]來指代常用漢字, 參閱: 我們用公式 =UNICODE("懶") 計(jì)算出"懶"字的編碼為25042、同理計(jì)算出"的"字為30340 然后用 =UNICHAR(25041) =UNICHAR(25043) =UNICHAR(30339) =UNICHAR(30341) 分別得到計(jì)算結(jié)果為:”懣、懓、皃、皅 據(jù)此,可直接寫出字符組 [一-懣][懓-皃][皅-龜] 用它來代表剔除“的”和“懶”之后的漢字 檢驗(yàn)一下: ![]()
方法二: 使用斷言來限定。 公式: =CONCAT(REGEXEXTRACT(B3,"((?![懶的])[一-龜])+",1)) ![]() 解釋: (?![懶的])右邊不是 詳細(xì)解釋參見: 5句話,讓你的正則表達(dá)式水平突飛猛進(jìn)!(第3-5句) ((?![懶的])[一-龜])提取“右邊不是"懶"或"的"的漢字” ![]() 上圖紅箭頭所指的位置,右邊是“懶”或“的”,不符合(?![懶的]) ![]()
方法三:字符組求差集 在上一篇文章的方法四,使用了求差集 練習(xí)題131:在漢字后添加括號(hào),能寫幾個(gè)正則?這個(gè)簡(jiǎn)單的練習(xí)題知識(shí)點(diǎn)有點(diǎn)多【正則表達(dá)式】 我們可以將上篇文章“求差集”的知識(shí)點(diǎn)用到本案例 公式: =CONCAT(REGEXEXTRACT(B3,"[[一-龜]--[懶的]]+",1)) ![]() 這個(gè)公式最簡(jiǎn)單,最方便,最好理解 也可寫為: =CONCAT(REGEXEXTRACT(B3,"[一-龜--[懶的]]+",1)) 這種寫法不利于閱讀,建議使用前一種寫法。 本文知識(shí)點(diǎn)總結(jié):
|
|
|