'****************************************************
'函数名:StrLen
'作 用:取得字符串长度(汉字为2)
'参 数:str ----字符串内容
'返回值:字符串长度
'****************************************************
Function StrLen(Str)
Set rep = New regexp
rep.Global = True
rep.IgnoreCase = True
rep.Pattern = "[^\x00-\xff]"
StrLen = Len(Str) + rep.Execute(Str).Count
Set Rep = Nothing
End Function
'****************************************************
'函数名:StrLeft
'作 用:从左面取指定数量字符串(汉字为2)
'参 数:L ----字符个数
'返回值:字符串
'****************************************************
Function Strleft(Str, L)
Dim I, Test_Str, lens, tStr, nStr, tL
tStr = Left(Str, - Int( - (L / 2)))
nStr = Right(Str, Len(Str) - Len(tStr))
If Len(nStr)>0 Then tL = L - StrLen(tStr)
If Asc(Left(tStr, 1))<0 And Len(tStr) = 1 And L<2 Then tStr = ""
If tL>= 1 Then
Strleft = tStr&Strleft(nStr, tL)
Else
Strleft = tStr
End If
End Function
'****************************************************
'函数名:StrRight
'作 用:从右面取指定数量字符串(汉字为2)
'参 数:L ----字符个数
'返回值:字符串
'****************************************************
Function StrRight(Str, L)
Dim I, Test_Str, lens, tStr, nStr, tL
tStr = Right(Str, - Int( - (L / 2)))
nStr = Left(Str, Len(Str) - Len(tStr))
If Len(nStr)>0 Then tL = L - StrLen(tStr)
If Asc(Left(tStr, 1))<0 And Len(tStr) = 1 And L<2 Then tStr = ""
If tL>= 1 Then
StrRight = StrRight(nStr, tL)&tStr
Else
StrRight = tStr
End If
End Function
'****************************************************
'函数名:StrMid
'作 用:指定开始位置取指定数量字符串(汉字为2)
'参 数:S----开始字符串为第几个,L ----字符个数
'返回值:字符串
'****************************************************
Function StrMid(Str, S, L)
StrMid = strleft(Right(Str,Str Len(Str) - Len(strleft(Str, s)) + 1), L)
End Function