tft每日頭條

 > 科技

 > 字符串算法

字符串算法

科技 更新时间:2025-04-10 19:18:13

字符串提取,是表親們經常遇到的問題,今天就和大家一起學習字符串提取的方法。

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

字符串算法(到底誰是你的菜)1

提取的結果如下圖所示:

字符串算法(到底誰是你的菜)2

觀察這些數據,咱們可以發現:

A列字符串中都是以“\”字符進行分隔的,實際上咱們就是提取最後一個反斜杠“\”後的内容。

有多種方法可以處理這個問題:

字符串算法(到底誰是你的菜)3

B2單元格輸入以下公式:

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

  1. LEN(A2)-LEN(SUBSTITUTE(A2,"\","")這部分是計算字符串中一共有幾個“\”。
  2. 首先用SUBSTITUTE 函數以一個新字符“*”,替換掉最後一個“\”。
  3. 然後再利用FIND函數找到“*”在文本串中的位置。
  4. 接下來用LEN(A2)計算出字符串的總長度,再減去星号“*”在文本串中的位置,餘下的就是咱們需要提取的字符個數。
  5. 最後用RIGHT函數從A2單元格的右側開始,提取(字符長度-星号位置)的字符,就是咱們需要的結果了。

字符串算法(到底誰是你的菜)4

B2單元格輸入以下公式:

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

  1. REPT(" ",99)的作用是生成99個空格。
  2. 再用SUBSTITUTE函數,将間隔符号“\”全部替換為99個空格。
  3. 接下來使用RIGHT函數,從替換後的字符串右側開始,提取99個字符,這樣就得到最後一個“\”之後的字符串和不确定數量的空格。
  4. 最後使用TRIM函數,将多餘的空格替換掉。

字符串算法(到底誰是你的菜)5

複制A列數據,粘貼到B列。

選中B列,按Ctrl H調出替換對話框。

在查找内容編輯框中輸入: *\

字符串算法(到底誰是你的菜)6

星号* 是通配符,表示任意多個字符。*\ 就是表示字符“\”和他之前的所有内容。

隻要點擊【全部替換】,就可以快速提取出需要的結果了。

三種方法,各有千秋,公式法的特點是數據源發生變化後,結果能自動更新,但是對于初學者來說,一層層的嵌套,會有點眼暈。

第三種方法的特點是便捷快速,缺點是數據源發生變化後,結果不能自動更新。

說說看,你更喜歡哪種呢?

圖文制作:耿勇

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved