电竞比分网-中国电竞赛事及体育赛事平台

分享

字符串提取,到底誰(shuí)是你的菜?

 碧荷晨露 2016-04-10

字符串提取,是表親們經(jīng)常遇到的問(wèn)題,今天就和大家一起學(xué)習(xí)字符串提取的方法。

如下圖所示,要從A列的路徑中提取出文件名稱(chēng)。


提取的結(jié)果如下圖所示:


觀察這些數(shù)據(jù),咱們可以發(fā)現(xiàn):

A列字符串中都是以“\”字符進(jìn)行分隔的,實(shí)際上咱們就是提取最后一個(gè)反斜杠“\”后的內(nèi)容。

有多種方法可以處理這個(gè)問(wèn)題:


B2單元格輸入以下公式:

=IFERROR(RIGHT(A2,LEN(A2)-FIND('*',SUBSTITUTE(A2,'\','*',LEN(A2)-LEN(SUBSTITUTE(A2,'\',''))))),'')

  1. LEN(A2)-LEN(SUBSTITUTE(A2,'\','')這部分是計(jì)算字符串中一共有幾個(gè)“\”。

  2. 首先用SUBSTITUTE 函數(shù)以一個(gè)新字符“*”,替換掉最后一個(gè)“\”。

  3. 然后再利用FIND函數(shù)找到“*”在文本串中的位置。

  4. 接下來(lái)用LEN(A2)計(jì)算出字符串的總長(zhǎng)度,再減去星號(hào)“*”在文本串中的位置,余下的就是咱們需要提取的字符個(gè)數(shù)。

  5. 最后用RIGHT函數(shù)從A2單元格的右側(cè)開(kāi)始,提?。?span>字符長(zhǎng)度-星號(hào)位置)的字符,就是咱們需要的結(jié)果了。


B2單元格輸入以下公式:

=TRIM(RIGHT(SUBSTITUTE(A2,'\',REPT(' ',99)),99))

  1. REPT(' ',99)的作用是生成99個(gè)空格。

  2. 再用SUBSTITUTE函數(shù),將間隔符號(hào)“\”全部替換為99個(gè)空格。

  3. 接下來(lái)使用RIGHT函數(shù),從替換后的字符串右側(cè)開(kāi)始,提取99個(gè)字符,這樣就得到最后一個(gè)“\”之后的字符串和不確定數(shù)量的空格。

  4. 最后使用TRIM函數(shù),將多余的空格替換掉。


復(fù)制A列數(shù)據(jù),粘貼到B列。

選中B列,按Ctrl+H調(diào)出替換對(duì)話框。

在查找內(nèi)容編輯框中輸入: *\


星號(hào)* 是通配符,表示任意多個(gè)字符。*\ 就是表示字符“\”和他之前的所有內(nèi)容。

只要點(diǎn)擊【全部替換】,就可以快速提取出需要的結(jié)果了。




三種方法,各有千秋,公式法的特點(diǎn)是數(shù)據(jù)源發(fā)生變化后,結(jié)果能自動(dòng)更新,但是對(duì)于初學(xué)者來(lái)說(shuō),一層層的嵌套,會(huì)有點(diǎn)眼暈。

第三種方法的特點(diǎn)是便捷快速,缺點(diǎn)是數(shù)據(jù)源發(fā)生變化后,結(jié)果不能自動(dòng)更新。

說(shuō)說(shuō)看,你更喜歡哪種呢?

圖文:耿勇  祝洪忠


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多