有時在作字串截取處理時,常常遇到字串中有中文、英文或特殊符號,利用substring or mid 函數,無法截取的很準確(因為兩者都是以Length來計算長度而不是用位元組數)。
索性動手寫了一支小程式解決這個問題 。程式碼如下:
''' <summary>
''' 截取index為0到某Length的字串
''' </summary>
''' <param name="p_SourceString">來源字串</param>
''' <param name="p_cutLength">截取長度</param>
Public Function CutString(p_SourceString AsString, p_cutLength AsInteger) As String
Dim l_arr = p_SourceString.ToCharArray
Dim l_newstr As String = "", l_cont = 0
For Each c As CharIn l_arr
l_cont += System.Text.Encoding.Default.GetByteCount(c)
If l_cont <= p_cutLength Then
l_newstr += c
Else
Exit For
EndIf
Next
Return l_newstr
EndFunction
全站熱搜