网络编程
位置:首页>> 网络编程>> Asp编程>> asp截取指定英汉混合字符串_支持中文

asp截取指定英汉混合字符串_支持中文

 来源:asp之家 发布时间:2011-04-19 10:39:00 

标签:asp,截取,字符串,中文

说明:本函数作用是截取指定英汉混合字符串,并保持显示长度一至。就是将一个汉字当两英文来截取。

用途:一般会用在标题显示列表,可以避免截取的字符串参插不齐的现象。
程序代码

'//A_strString要处理的字符串 
'//A_intLen以英文字符数为准 
'//A_strAddString如果A_strString有截取字符时添中的后缀,如:...,可以为空 
function CutString(byval A_strString,byval A_intLen,byval A_strAddString) 
dim MM_objRe,MM_objMs,MM_objMh 
dim MM_strCut,MM_intLen 
set MM_objRe=new RegExp 
MM_objRe.Global=true'全局搜索 
MM_objRe.IgnoreCase=true'不区分大小写 
MM_objRe.Pattern="[^\x00-\xff]" 

MM_intLen=A_intLen 
if len(A_strString)<=A_intLen then 
MM_strCut=A_strString 
else 
MM_strCut=left(A_strString,MM_intLen) 
set MM_objMs=MM_objRe.execute(MM_strCut) 
if MM_objMs.count<>MM_intLen then 
for each MM_objMh in MM_objMs 
if MM_objMh.FirstIndex<MM_intLen then 
MM_intLen=MM_intLen-1 
else 
exit for 
end if 
next 
else 
MM_intLen=MM_intLen/2 
end if 
MM_strCut=left(A_strString,MM_intLen) & A_strAddString 
end if 
CutString=MM_strCut 
set MM_objRe=nothing 
end function 
这个和目前网上流行的不太一样,用的是正则式来获取非ANSI字符(这里默认非ANSI字符为汉字,如果有偏差可以修改正则式来达到目的)。先注明一点:函数指定长度以英文字符数为准。即是指定为10,含义为10个英文或5个汉字
作了两点优化:
第一点:直接获取指定长度的字符,因为不管是全汉字还是全英文,最长不过是全英文长度,超过的字符是绝对淘汰字符。
第二点:使用正则寻找范围内的汉字,并只遍历每个汉字的字数,这样可以最大程度上减少循环次数。

0
投稿

猜你喜欢

  • <script language="javascript">function chang
  • *注意:本文的内容涉及到修改NTFS磁盘权限和设置安全策略,请务必在确认您了解操作可能的后果之后再动手进行任何的修改。文中提及的权限都是在原
  • 各种asp字符串处理函数,包括:把字符串换为char型数组,把一个数组转换成一个字符串,检查源字符串str是否以chars开头,检查源字符串
  • 百度有啊2009年情人节logo——大纸袋GG给大纸袋MM送了枝玫瑰花,大纸袋MM奖励了大纸袋GG一个吻,好可爱!淘宝网2009年情人节lo
  • 在产品开发中,由UED发起的项目越来越多,但是现在的问题是很难为其设定商业价值的目标。如果没有明确的商业价值目标,很多公司根本没办法花大成本
  • CSS styles和HTML styles有什么区别?HTM style是指自定义HTML标识中一些标签,例如说在HTML中〈B〉〈/B〉
  • 前边看到有人发了个层打开效果,总感觉不是很理想 个人认为:-),如果那个层放到固定的容器里面估计就会出现问题的。今天自己来写个,可以支持 在
  • 根据国务院文件,5.19-5.21为全国哀悼日,在此期间,全国和各驻外机构下半旗志哀,停止公共娱乐活动,外交部和我国驻外使领馆设立吊唁簿。5
  • 垃圾评论,垃圾留言,人见人憎,用了验证码,效果也好不到哪里去,还影响用户体验。有的网站甚至不惜牺牲用户体验,而构造强悍的惨不忍睹的超级验证码
  • 最近接触到一个心理学方面的理论:心流理论。大意是一种个人精力完全投注在某件事情上的感觉。心流产生时会有高度的兴奋和充实感。其实也就是说人在进
  • /* * Date Format 1.2.3 * (c) 2007-2009 Steven Levithan * MIT license *
  • 如何利用网页弹出各种形式的窗口,我想大家大多都是知道些的,但那种多种多样的弹出式窗口是怎么搞出来的,我们今天就来学习一下:推荐:网页弹出窗口
  • 如何使用数组来显示下拉菜单?可以这样,如下:Sub DoDropDown(Arr(), strSelName, 
  • 如果 select 元素下的所有 option 元素均没有指定 selected 属性,会默认选中第一个。可以通过 select.selec
  • 阅读是在网站中的一个很重要的部分,可以说是网站的核心。网站最终要呈现给用户的就是内容。尤其是文本内容。豆瓣豆瓣前段时间小改了一下,页面拉宽,
  • 以前的Sony Ericsson牌DVD影碟机坏掉了,上周到沃尔玛买了个philips的回来,于是又淘了一些DVD回来看。在使用遥控的时候忽
  • 如果你是一名Web Developer,而且还知道CSS Sprite这个词,请先去搜索一下,也许你正在使用这个技术,但只是不知道它的名字罢
  • A.截取从字符串左边开始N个字符 Declare @S1 varchar(100) Select @S1='http://www.x
  • 翻译:ShiningRay简介你是否知道JavaScript其实也是一个函数式编程语言呢?本指南将教你如何利用JavaScript的函数式特
  • 这几天无聊的很看着china.nba.com焦点图效果捣鼓了一下有待完善!兼容性:IE6  , IE7 &nb
手机版 网络编程 asp之家 www.aspxhome.com