西安网站建设asp截取指定英汉混合字符串_支持中文

12812015-08-16

西安网站建设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个汉字
作了两点优化:
第一点:直接获取指定长度的字符,因为不管是全汉字还是全英文,最长不过是全英文长度,超过的字符是绝对淘汰字符。
第二点:使用正则寻找范围内的汉字,并只遍历每个汉字的字数,这样可以最大程度上减少循环次数。

通过本文您对西安网站建设有了进一步了解,本公司温馨提醒:找西安做网站公司,请选择手续齐全、业务精、服务好的正规公司。

工商网上亮照

版权所有:西安点墨网络科技有限公司 信息备案编号: 陕ICP备11004160号-1

客户服务电话:029-89640155 18991365125

公司地址:西安市雁塔区朱雀大街紫郡长安F3

Sitemap 网站地图 手机版

办公电话:029-89640155

服务热线:18991365125

客服信箱:vip@dianmo.cc

846461336327

西安点墨网络科技有限公司

版权所有:西安点墨网络科技有限公司 信息备案编号: 陕ICP备11004160号-1