1樓:fresen
手機打的,可以有點兒繞,只是乙個思路,算是拋磚引玉吧。
用substitute把c換成空,len該單元格就可知道該單元格有幾個c,
替換最後面的這個c為/或其他唯一的值,再find /在第幾位,然後按這個/所在位數用mid即可分別得出三段字串。
2樓:TuskAi
如果是用公式做,可以先用MID將字串拆分為單個字元,再用LOOKUP倒序查詢第乙個非數字的位置,然後用LEFT/MID/RIGHT提取
示例裡B1公式:
=LOOKUP(1,0/(ISNUMBER(--MID(A1,ROW(INDIRECT("$1:$"&LEN(A1))),1))=FALSE),ROW(INDIRECT("$1:$"&LEN(A1))))
用LEN返回字串長度
用INDIRECT引用第一行至字串長度的行用ROW返回行所對應的行號的陣列
用MID根據陣列擷取單個字元
用--將文字型數字轉化為數值型數字
用ISNUMBER判斷字元是文字還是數字,返回邏輯值用LOOKUP(1,0/(條件),結果)獲取陣列中從後向前第乙個滿足條件的字元的位置
示例裡C1公式:
=LEFT(A1,B1-1)
示例裡D1公式:
=MID(A1,B1,1)
示例裡E1公式:
=RIGHT(A1,LEN(A1)-B1)
3樓:
Function MyRe(ByVal Target As Range, Optional n% = 1)
Dim re As Object, arr
Set re = CreateObject("vbscript.regexp")
With reGlobal = TruePattern = "^([a-zA-Z]+\d+)([a-zA-Z]+)(\d+)$"
End With
If re.test(Target.Value) Then
Set arr = re.Execute(Target.ValueMyRe = Array(arr(0).
submatches(0), arr(0).submatches(1), arr(0).submatches(2))(n - 1)
End If
End Function
Python中怎麼提取字串中的漢字?
Datawhale 採用正規表示式的方法對字串進行處理。str1 我 是,速 度 發 中 國 人 1 提取漢字 漢字的範圍為 u4e00 u9fa5 這個是用Unicode表示的 import reres1 join re findall u4e00 u9fa5 str1 print res1 輸出...
excel中如何提取ip前3段?
使用left提取從左向右前3段IP字串 主要難點在於確定第3個點的位置,可以採用先把第3個點替換成 或其他特殊文字 然後用find查詢這個唯一文字 來定位。通過定位到第三個點的位置減去1,來確定需要擷取的字元長度作為Left函式的第二個引數。LEFT A2,FIND SUBSTITUTE A2,3 ...
C語言中怎樣最好地從標準輸入流中獲取字串,並轉換為int陣列?
用 fgets 限定長度,保證輸入的記憶體安全 用 strtoint 簡單轉換。char str 50 fgets str,50 stdin strtoint 可以寫成過程,voidstrtoint char str int integer 如果使用 stdlib.h 的 atoi 對於太長的字串,...