Excel字元中怎麼提取字母和數字?

時間 2021-06-06 18:29:12

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 對於太長的字串,...