码迷,mamicode.com
首页 > Web开发 > 详细

ASP如何计算中英文混合字符串长度和截取字符串

时间:2014-06-27 20:45:11      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:style   class   code   tar   ext   get   

用ASP做网站的时候经常会碰到要截取字符串的情况。ASP中的Len函数不管是中文字符,还是英文字符,统统按一个单位来计算,由于一个中文字符的宽度是一个英文字符宽度的两倍,在中英文混合的情况下字符串实际占用的宽度就不好计算了,如果按照Len函数计算的长度来截取字符串截出来的效果也会长短不一,下面是按照一个汉字相当于两个英文字符来计算字符串长度和截取字符串的代码

 

计算中英文混合字符串的长度:

  1. function getStringLen(str) 
  2. on error resume next        
  3.     dim l,c,i,t 
  4.     l=len(str) 
  5.     t=l 
  6.     for i=1 to l 
  7.         c=asc(mid(str,i,1)) 
  8.         if c>=128 or c<0 then t=t+1 
  9.     next         
  10.     getStringLen=t   
  11.     if err.number<>0 then err.clear 
  12. end function 

 

 

截取字符串:

  1. function getSubString(str,Length) 
  2. on error resume next        
  3.     dim l,c,i,hz,en 
  4.     l=len(str) 
  5.     if l<length then 
  6.         getSubString=str 
  7.     else 
  8.         hz=0 
  9.         en=0 
  10.         for i=1 to l 
  11.             c=asc(mid(str,i,1)) 
  12.             if c>=128 or c<0 then  
  13.                 hz=hz+1 
  14.             else 
  15.                 en=en+1 
  16.             end if 
  17.      
  18.             if en/2+hz>=length then 
  19.                 exit for 
  20.             end if 
  21.         next         
  22.         getSubString=left(str,i) & "…" 
  23.     end if 
  24.     if err.number<>0 then err.clear 
  25. end function 

ASP如何计算中英文混合字符串长度和截取字符串,布布扣,bubuko.com

ASP如何计算中英文混合字符串长度和截取字符串

标签:style   class   code   tar   ext   get   

原文地址:http://www.cnblogs.com/nicemeetinglinhua/p/3807561.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!