利用lstrlen 計算中英文混合字串的長度
文章推薦指數: 80 %
LenB("中英Mixed") 等於14. 但是在很多場合底下, 我們希望中文字長度以2 計算, 英文字母長度以1 計算, 此時使用的方法如下:. ' 欲計算字串S 的長度
利用lstrlen計算中英文混合字串的長度
在32-bit版本的VB底下,將每一個字元都視為兩個Byte,所以
Len("中英Mixed")等於7
LenB("中英Mixed")等於14
但是在很多場合底下,我們希望中文字長度以2計算,
英文字母長度以1計算,此時使用的方法如下:
'欲計算字串S的長度
N=0
ForI=1ToLen(S)
C=Asc(Mid(S,I,1))'取得第I個字元組的字元碼
IfC>=0AndC<128Then'英文
N=N+1
Else'中文
N=N+2
EndIf
Next
看起來程式有點囉唆,如果您不喜歡這個方法,可以使用Windows
API的lstrlen函數,假設假計算S的長度,則API宣告式如下:
PrivateDeclareFunctionlstrlenLib"kernel32"Alias
"lstrlenA"(ByVallpStringAsString)AsLong
而呼叫的敘述則是:
n=lstrlen("中英Mixed"+Chr(0))
Printn'n將等於9
請注意呼叫lstrlen時必須加上Chr(0),因為此一函數是根據Chr(0)
來判斷字串的結束。
呼叫lstrlen除了程式比較簡短之外,速度也比我們寫VB
程式判斷中英文字然後計算長度來的快。
延伸文章資訊
- 1Excel-計算字串中的字元數量
Excel-計算字串中的字元數量 ... 原理是:將儲存格C2的字串總長度(字元數),減掉去除某個字元的字串總長度(字元數)。 複製儲存格C2至儲存格C2:L12。 當你有 ...
- 2計算儲存格中的字元Mac 版Excel
- 3如何計算單元格中的字符,字母和數字的數量? - ExtendOffice
將文本字符串更改為大寫. 最佳辦公效率工具. Kutools for Excel解決了您的大多數問題,並使您的生產率提高 ...
- 4計算儲存格中的字元
複製下表,然後將它貼到工作表中的儲存格A1 Excel中。 將公式從B2 拖曳到B4,以查看欄A 中所有儲存格中的文字長度。 文字字串.
- 5利用lstrlen 計算中英文混合字串的長度
LenB("中英Mixed") 等於14. 但是在很多場合底下, 我們希望中文字長度以2 計算, 英文字母長度以1 計算, 此時使用的方法如下:. ' 欲計算字串S 的長度