首页 > Web开发 > 详细

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

时间:2014-06-27 20:44:52      阅读:439      评论:0      收藏:0      [点我收藏+]

用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如何计算中英文混合字符串长度和截取字符串

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!