VB 汉字字符串的截取LEN、LEFT、RIGHT
来源:互联网 发布:室内软件 编辑:程序博客网 时间:2024/05/22 09:06
自从VB4.0后,就把汉字看做是1个字符了。这给我们的字符串的截取带来了严重的麻烦!
如果是汉字+数字或字母的字符串,往往截取到的字符串长度不是理想中的,其中涉及到的函数有LEN、LEFT、RIGHT
我自己编写了如下3个函数,用来取代 len()、left()、right(),希望能解决您的问题。
'--------------------------------------------------------
'Name: lenX
'Argument: uStr
'Return:
'Description: 返回字符串的长度,1个中文字符长度为2
'--------------------------------------------------------
function lenX(byval uStr)
dim theLen,x,testuStr
theLen = 0
for x = 1 to len(uStr)
testuStr = mid(uStr,x,1)
if asc(testuStr) < 0 then
theLen = theLen + 2
else
theLen = theLen + 1
end if
next
lenX = theLen
end function
'--------------------------------------------------------
'Name: leftX
'Argument: uStr 待处理的字符串
' uLen 要截取的长度
'Return:
'Description: 返回指定长度的字符串,1个中文字符长度为2
'--------------------------------------------------------
function leftX(byval uStr,byval uLen)
dim i,j,uTestStr,theStr
leftX = ""
j = 0
for i = 1 to len(uStr)
uTestStr= mid(uStr,i,1)
theStr = theStr & uTestStr
if asc(uTestStr) < 0 then
j = j + 2
else
j = j + 1
end if
if j >= uLen then exit for
next
leftX = theStr
end function
'--------------------------------------------------------
'Name: rightX
'Argument: uStr 待处理的字符串
' uLen 要截取的长度
'Return:
'Description: 返回指定长度的字符串,1个中文字符长度为2
'--------------------------------------------------------
function rightX(byval uStr,byval uLen)
dim i,j,uTestStr
rightX = ""
j = 0
for i = len(uStr) to 1 step -1
uTestStr = mid(uStr,i,1)
rightX = rightX & uTestStr
if asc(uTestStr) < 0 then
j = j + 2
else
j = j + 1
end if
if j >= uLen then exit for
next
end function
- VB 汉字字符串的截取LEN、LEFT、RIGHT
- mysql 的截取字符串 left right
- 支持中文的Len, Left, Right函数
- access截取字符串,Left 函数,Right 函数
- Excel字符串截取(left&right&mid)
- SAP HANA LEFT/RIGHT字符串截取
- mysql的left,right,substr,instr截取字符串,截取小数点float
- mysql的left,right,substr,instr截取字符串,截取小数点float
- mysql的left,right,substr,instr截取字符串,截取小数点float
- mysql的left,right,substr,instr截取字符串,截取小数点float
- sql截取查询出的字符串|SUBSTRing|CHARINDEX|reverse|left|right函数
- C语言实现字符串截取函数left、mid和right
- C_实现字符串截取函数left、mid和right
- mysql 截取字符串: left() ,right() 和IFNULL()用法
- 从$utf8_string截取不大于$len字节的的字符串
- 截取包含汉字的字符串
- 字符串截取--头疼的汉字
- 截取带汉字的字符串
- 程序模块架构图
- Source Insight 宏
- 数钱游戏——聪明的放弃
- iostream.h和iostream 区别
- Oracle11g中Alert Log 的变化
- VB 汉字字符串的截取LEN、LEFT、RIGHT
- SMS PDU编码
- log4j详解与实例
- 驾校的生活
- javascript variable's scope , 变量 范围
- IE下div的高度问题
- 无语!!
- iPhone-3G工程师走俏,人才供不应求
- 使用多线程提高GUI响应,以及结束任务的方法