vba 根據位元組數擷取字串

2021-10-11 18:47:16 字數 710 閱讀 2626

vba 根據位元組數擷取字串 

' str 要擷取的字串

' bytelen 需要擷取的位元組長度

' return bytelen長度的字串

public function kiritorustr(str as string,bytelen as integer) as string

dim cha as string  

dim chano as long   'string のbyte number

dim k as long   'byte number

chano = lenb(strconv(str, vbfromunicode)) ' 字串的位元組長度

k = 0 '當前位元組數

for i = 1 to chano

' 每次擷取乙個字元

cha = mid(str, i, 1)

' 計算cha字元的位元組數

m = lenb(strconv(cha, vbfromunicode))

' 累計位元組數

k = k + m

if k < = bytelen then

kiritorustr = kiritorustr & cha

else

exit for

end if

next i

end function

根據位元組數擷取字串

擷取字串相信大家基本都用過,但是一般都是用string.length判斷字串的長度後進行擷取。這樣如果一組字串裡既有英文 數字又有中文,那麼擷取出來的字串還是會長短不一,因為每個英文或數字是佔乙個位元組而每個漢字佔兩個位元組。這時,我們可以通過位元組數來擷取,寫了個方法 擷取指定長度的字串 擷取前的...

根據位元組數擷取字串

問題描述 編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,例如 人abc 4,應該截為 人ab 輸入 人abc們 6,應該截為 人abc 而不是截為 人ab 們的半個 package com.wyl 擷取字串 author wyl public ...

按位元組數擷取字串

1.字串設定長度,長度限制 nsstring stringwithhtml nsstring str length cgfloat length 如果有寬度限制的話,建議用 if str.length length 缺點是字母或數字或中文與數字字母混合時計算有誤,還會執行下面方法,但比較保險 獲取字...