1 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個贊
實(shí)現(xiàn)的方法很多,下面隨便給出一種用結(jié)構(gòu)體實(shí)現(xiàn)的方法:
Private Type MyDict '定義一個源字符與目的字符的結(jié)構(gòu)體
Src As String '源字符,如“a”
Dest As String '轉(zhuǎn)換后的目的字符,如"12"
End Type
Private Function Convert(s As String) As String
'函數(shù)說明:
'參數(shù)s,是需要轉(zhuǎn)換的源字符串,如a1b
'返回值:轉(zhuǎn)換后的字符串,如123123
'注:函數(shù)本身不限制源字符串長度
Dim MyDictList(5) As MyDict '用于存儲轉(zhuǎn)換規(guī)則的數(shù)組,可根據(jù)具體要求修改數(shù)組大小
Dim i, j As Integer '循環(huán)變量
Dim TempRes As String '用于存儲臨時結(jié)果的臨時變量
TempRes = ""
Convert = ""
'開始定義詳細(xì)的轉(zhuǎn)換規(guī)則
MyDictList(0).Src = "a"
MyDictList(0).Dest = "12"
MyDictList(1).Src = "1"
MyDictList(1).Dest = "31"
MyDictList(2).Src = "b"
MyDictList(2).Dest = "23"
MyDictList(3).Src = "c"
MyDictList(3).Dest = "24"
MyDictList(4).Src = "2"
MyDictList(4).Dest = "14"
MyDictList(5).Src = "d"
MyDictList(5).Dest = "41"
'關(guān)鍵的轉(zhuǎn)換部分
For i = 1 To Len(s)
TempRes = Mid(s, i, 1)
For j = 0 To UBound(MyDictList)
If MyDictList(j).Src = Mid(s, i, 1) Then
TempRes = MyDictList(j).Dest
Exit For
End If
Next
Convert = Convert & TempRes
Next
End Function
使用方法:把上述代碼復(fù)制過去以后,直接調(diào)用Convert函數(shù),如
MsgBox Convert("a1b")
即可在對話框中彈出結(jié)果
添加回答
舉報