首页 > 代码库 > ASP如何计算中英文混合字符串长度和截取字符串
ASP如何计算中英文混合字符串长度和截取字符串
用ASP做网站的时候经常会碰到要截取字符串的情况。ASP中的Len函数不管是中文字符,还是英文字符,统统按一个单位来计算,由于一个中文字符的宽度是一个英文字符宽度的两倍,在中英文混合的情况下字符串实际占用的宽度就不好计算了,如果按照Len函数计算的长度来截取字符串截出来的效果也会长短不一,下面是按照一个汉字相当于两个英文字符来计算字符串长度和截取字符串的代码
计算中英文混合字符串的长度:
[vb] view plaincopyprint?
- function getStringLen(str)
- on error resume next
- dim l,c,i,t
- l=len(str)
- t=l
- for i=1 to l
- c=asc(mid(str,i,1))
- if c>=128 or c<0 then t=t+1
- next
- getStringLen=t
- if err.number<>0 then err.clear
- end function
截取字符串:
[vb] view plaincopyprint?
- function getSubString(str,Length)
- on error resume next
- dim l,c,i,hz,en
- l=len(str)
- if l<length then
- getSubString=str
- else
- hz=0
- en=0
- for i=1 to l
- c=asc(mid(str,i,1))
- if c>=128 or c<0 then
- hz=hz+1
- else
- en=en+1
- end if
- if en/2+hz>=length then
- exit for
- end if
- next
- getSubString=left(str,i) & "…"
- end if
- if err.number<>0 then err.clear
- end function
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。