閱: 3918 | 回: 0
等級(jí):初學(xué)者
-
積分:0
-
財(cái)富值:0.00
-
身份:普通用戶
提取中文字串的拼音首字母
一個(gè)自定義函數(shù),可提取中文字串中每個(gè)字符的拼音首字母,忽略字串中的英文字母和標(biāo)點(diǎn),阿拉伯?dāng)?shù)字,空格等。
附件中有使用范例。
已發(fā)現(xiàn)的缺點(diǎn):不能識(shí)別多音字,比如 “單”有"shan、dan"兩種讀音,其只能識(shí)別一種;
到底能識(shí)別多少中文字,我也不清楚。
Function HYPY(myStr As String) As String
Dim L As Integer, i As Integer
Dim GetPY As String, N As String
On Error Resume Next
myStr = StrConv(myStr, vbNarrow)
L = Len(myStr)
For i = 1 To L
If Asc(Mid(myStr, i, 1)) > 0 Or Err.Number = 1004 Then N = ""
N = Application.WorksheetFunction.VLookup(Mid(myStr, i, 1), _
[{"吖","A";"八","B";"嚓","C";"咑","D";"鵽","E";"發(fā)","F";"猤","G";"鉿","H";"夻","J";"咔","K";"垃","L";"嘸","M";"旀","N";"噢","O";"妑","P";"七","Q";"囕","R";"仨","S";"他","T";"屲","W";"夕","X";"丫","Y";"帀","Z"}], 2)
GetPY = GetPY & N
Next i
HYPY = GetPY
End Function
一個(gè)自定義函數(shù),可提取中文字串中每個(gè)字符的拼音首字母,忽略字串中的英文字母和標(biāo)點(diǎn),阿拉伯?dāng)?shù)字,空格等。
附件中有使用范例。
已發(fā)現(xiàn)的缺點(diǎn):不能識(shí)別多音字,比如 “單”有"shan、dan"兩種讀音,其只能識(shí)別一種;
到底能識(shí)別多少中文字,我也不清楚。
Function HYPY(myStr As String) As String
Dim L As Integer, i As Integer
Dim GetPY As String, N As String
On Error Resume Next
myStr = StrConv(myStr, vbNarrow)
L = Len(myStr)
For i = 1 To L
If Asc(Mid(myStr, i, 1)) > 0 Or Err.Number = 1004 Then N = ""
N = Application.WorksheetFunction.VLookup(Mid(myStr, i, 1), _
[{"吖","A";"八","B";"嚓","C";"咑","D";"鵽","E";"發(fā)","F";"猤","G";"鉿","H";"夻","J";"咔","K";"垃","L";"嘸","M";"旀","N";"噢","O";"妑","P";"七","Q";"囕","R";"仨","S";"他","T";"屲","W";"夕","X";"丫","Y";"帀","Z"}], 2)
GetPY = GetPY & N
Next i
HYPY = GetPY
End Function
我的個(gè)性簽名