佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > asp截取指定英漢混合字符串_支持中文

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

熱門標簽:團購網站 科大訊飛語音識別系統(tǒng) 服務器配置 Mysql連接數(shù)設置 銀行業(yè)務 電子圍欄 阿里云 Linux服務器
說明:本函數(shù)作用是截取指定英漢混合字符串,并保持顯示長度一至。就是將一個漢字當兩英文來截取。
用途:一般會用在標題顯示列表,可以避免截取的字符串參插不齊的現(xiàn)象。
程序代碼
復制代碼 代碼如下:

'//A_strString要處理的字符串
'//A_intLen以英文字符數(shù)為準
'//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'不區(qū)分大小寫
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字符為漢字,如果有偏差可以修改正則式來達到目的)。先注明一點:函數(shù)指定長度以英文字符數(shù)為準。即是指定為10,含義為10個英文或5個漢字
作了兩點優(yōu)化:
第一點:直接獲取指定長度的字符,因為不管是全漢字還是全英文,最長不過是全英文長度,超過的字符是絕對淘汰字符。
第二點:使用正則尋找范圍內的漢字,并只遍歷每個漢字的字數(shù),這樣可以最大程度上減少循環(huán)次數(shù)。
您可能感興趣的文章:
  • asp截取字符串的兩種應用
  • asp下實現(xiàn)截取字符串特定部分內容函數(shù)
  • asp 字符串截取函數(shù)
  • GetBody asp實現(xiàn)截取字符串的代碼
  • 用asp實現(xiàn)的截取指定格式字符串的代碼
  • asp從字符串里截取N個帶HTML的字符的函數(shù)
  • ASP.NET 字符串截取
  • asp CutStrX字符串截取函數(shù)(過濾全部HTML標記)
  • asp實現(xiàn)截取字符串函數(shù)

標簽:大理 廣元 棗莊 江蘇 衢州 萍鄉(xiāng) 衡水 蚌埠

巨人網絡通訊聲明:本文標題《asp截取指定英漢混合字符串_支持中文》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    株洲县| 张家口市| 东光县| 浦东新区| 凤阳县| 上虞市| 邮箱| 泸州市| 来凤县| 包头市| 罗甸县| 清流县| 大丰市| 张掖市| 翁源县| 吴堡县| 新郑市| 开远市| 加查县| 辽中县| 泰和县| 当涂县| 敦化市| 老河口市| 浠水县| 红原县| 米林县| 酉阳| 札达县| 琼海市| 长汀县| 徐水县| 定结县| 宁明县| 临沭县| 阿克苏市| 大余县| 河东区| 颍上县| 德保县| 青河县|