主页 > 知识库 > asp截取指定英汉混合字符串_支持中文

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

热门标签:团购网站 科大讯飞语音识别系统 服务器配置 Mysql连接数设置 银行业务 电子围栏 阿里云 Linux服务器
说明:本函数作用是截取指定英汉混合字符串,并保持显示长度一至。就是将一个汉字当两英文来截取。
用途:一般会用在标题显示列表,可以避免截取的字符串参插不齐的现象。
程序代码
复制代码 代码如下:

'//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.FirstIndexMM_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个汉字
作了两点优化:
第一点:直接获取指定长度的字符,因为不管是全汉字还是全英文,最长不过是全英文长度,超过的字符是绝对淘汰字符。
第二点:使用正则寻找范围内的汉字,并只遍历每个汉字的字数,这样可以最大程度上减少循环次数。
您可能感兴趣的文章:
  • asp截取字符串的两种应用
  • asp下实现截取字符串特定部分内容函数
  • asp 字符串截取函数
  • GetBody asp实现截取字符串的代码
  • 用asp实现的截取指定格式字符串的代码
  • asp从字符串里截取N个带HTML的字符的函数
  • ASP.NET 字符串截取
  • asp CutStrX字符串截取函数(过滤全部HTML标记)
  • asp实现截取字符串函数

标签:大理 广元 枣庄 江苏 衢州 萍乡 衡水 蚌埠

巨人网络通讯声明:本文标题《asp截取指定英汉混合字符串_支持中文》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266