佛冈中学:VBScript统计字符串长度方法

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/08 05:26:05
我要在一个定长的表格中显示一个字符串,
如果这个字符串过长,要进行截取,只要前边的一部分,这样,就不会是表格换行。
如果单存的用len(str)得到的数字,无论汉字还是字符,都算一个。
这样,在字符串截取的时候,就不好判断了。
统计的时候,汉字算一个,在显示的时候,却占2个字符的位置。
所以,要个方法统计字符穿的长度。
说白了,就是要个如何判断一个字符是汉字的方法。
或者帮我把如下JavaSrcipt代码翻译成VBScript
function strlen(str){
var len;
var i;
len = 0;
for (i=0;i<str.length;i++){
if (str.charCodeAt(i)>255) len+=2; else len++;
}
return len;
}
谢谢了。。。要是写函数,一定要写全了,包括函数头和尾
感激不尽!!!

Function CutStr(str,strlen)
Dim l,t,c
l=len(str)
t=0
For i=1 To l
c=Abs(Asc(Mid(str,i,1)))
If c>255 Then
t=t+2
Else
t=t+1
End If
If t>=strlen Then
cutStr=left(str,i)&"..."
Exit for
Else
cutStr=str
End If
Next
CutStr=replace(cutStr,chr(10),"")
End Function

此函数有两个参数CutStr(参数一,参数二)
参数一:是要进行截取的原字符串
参数二:是截取的长度
如果原字串超过了截取的长度,后面的用"..."代替,你可以修改
cutStr=left(str,i)&"..."
这句,把后面的"..."改你要你代替的字符,也可以为""空。

这样调用:
<%=CutStr("123456",3)%>
输出的是"123..."