查詢字元位置 查詢某個字元最後一次出現的位置

2021-10-14 21:05:56 字數 1672 閱讀 4293

在excel文件裡想從很長的檔案路徑中取得檔名,【資料】→【分列】是個不錯的選擇,但用函式會顯得更高大上一些。

首先,需要獲取最後乙個"\"所在的位置。

方法1:

find("@",substitute(a1(字串所在單元格),"\","@",len(a1)-len(substitute(a1,"\",""))))

這個比較好理解,只要理解了substitute第四個引數的作用就好。

substitute第四個引數:可選。指定要用 new_text 替換 old_text 的事件。如果指定了 instance_num,則只有滿足要求的 old_text 被替換。否則,文字**現的所有 old_text 都會更改為 new_text。

例:substitute案例

所以,整個函式的意思是把字串中最後乙個"\"替換成字串中沒出現過的其他字元(如「@」),然後在查詢這個沒出現過的字元所在的位置就可以了。

方法2:

lookup(1,0/(mid(a1(字串所在單元格),column(1:1),1)="\"),column(1:1))

這個理解起來比較難。

先來理解column(1:1)的意思:

在空白excel文件裡選中第一行,在編輯欄裡輸入=column(1:1),再按ctrl+shift+enter組合鍵

可以看到column(1:1)的結果是乙個1~16384的陣列。

再看(mid(a1(字串所在單元格),column(1:1),1)="\"),作用是乙個個取出字串中的字元,並判斷是否與"\"相同,相同則返回true,否則返回false。

0/true得0,0/false得

所以lookup(1,0/(mid(a1(字串所在單元格),column(1:1),1)="\"),column(1:1))的結果是

excel幫助裡的備註:

本例中的lookup函式在0/(mid(a1(字串所在單元格),column(1:1),1)="\")裡是找不到1的,所以它找到的是0,但在0/(mid(a1(字串所在單元格),column(1:1),1)="\")裡有多個0,從結果來看,它找到的是最後乙個0。

查詢字串中某個字元出現的位置以及次數

1.實現思路 1.首先利用indexof 要查詢的字元 方法找到第乙個字元o出現的位置 var index str.indexof o 2.然後在字元o第一次出現的位置後面繼續查詢其他的字元o,利用indexof 要查詢的字元 index 1 方法 3.迴圈操作,只要不等於 1 就一直查詢 2.演示...

mysql中查詢欄位中包含某個字元

mysql查詢如何判斷字段是否包含某個字串 有這樣乙個需求,在mysql資料庫字串字段 許可權 中,使用者有多個不同的郵箱,分別被 分開,現在要取出某個郵箱的所有成員列表。mysql 中有些欄位是字串型別的,如何查詢其中包含某些字元的記錄呢?方法一很簡單可以用 來實現 比如select fromus...

python查詢字串內的某個字元,進行操作

找出每一行中的某個欄位來進行識別,並在後面新增此標記的內容 coding utf 8 查詢每個字串中是否包含某個字元,在該字串後新增東西 或者使用replace方法進行替換 import re def fenhang infile,outfile infopen open infile,r enco...