'------------------------------------------------------------
'描述:让Len,Left,Right函数识别中文
' 对中文识别为两个字符,ASCII码为一个
' 可用此函数代替Len,Left,Right函数
'示例:LenX("中国ren") => "7"
' LeftX("中国ren",4) => "中国"
' RightX("中国ren",5) => "国ren"
'参数:
' sString 字符串
' lLength 长度
'返回:字符串长度,字符串,字符串
'整理:KimSoft(jinqinghua@gmail.com)
'时间:2005-05-24
'修改:2005-07-07
'------------------------------------------------------------
Public Function LenX(ByVal sString)
LenX = 0
Dim lngStringLen
Dim strCharString
Dim i
lngStringLen = Len(sString)
strCharString = ""
For i = 1 To lngStringLen
strCharString = Mid(sString, i, 1)
If Asc(strCharString) > 0 Then
LenX = LenX + 1
Else
LenX = LenX + 2
End If
Next
End Function
Public Function LeftX(ByVal sString, ByVal lLength)
LeftX = ""
If sString = "" Or lLength < 1 Then Exit Function
Dim lngStringLength
Dim strCharString
Dim lngCounter
Dim i
lngStringLength = Len(sString)
For i = 1 To lngStringLength
strCharString = Mid(sString, i, 1)
LeftX = LeftX & strCharString
If Asc(strCharString) > 0 Then
lngCounter = lngCounter + 1
Else
lngCounter = lngCounter + 2
End If
If lngCounter >= lLength Then Exit For
Next
End Function
Public Function RightX(ByVal sString, ByVal lLength)
RightX = ""
If sString = "" Or lLength < 1 Then Exit Function
Dim lngStringLength
Dim strCharString
Dim lngCounter
Dim i
lngStringLength = Len(sString)
For i = lngStringLength To 1 Step -1
strCharString = Mid(sString, i, 1)
RightX = strCharString & RightX
If Asc(strCharString) > 0 Then
lngCounter = lngCounter + 1
Else
lngCounter = lngCounter + 2
End If
If lngCounter >= lLength Then Exit For
Next
End Function
支持中文的Len, Left, Right函数
最新推荐文章于 2024-11-04 23:45:08 发布
本文介绍了一组用于处理包含中文字符的字符串的VB函数,包括计算字符串长度、截取字符串左侧和右侧内容的功能。这些函数能够准确地处理双字节中文字符,确保长度计算正确。
3184

被折叠的 条评论
为什么被折叠?



