国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

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

2024-05-04 11:00:36
字體:
供稿:網(wǎng)友
說明:本函數(shù)作用是截取指定英漢混合字符串,并保持顯示長度一至。就是將一個漢字當(dāng)兩英文來截取。
用途:一般會用在標(biāo)題顯示列表,可以避免截取的字符串參插不齊的現(xiàn)象。
程序代碼
復(fù)制代碼 代碼如下:
'//A_strString要處理的字符串
'//A_intLen以英文字符數(shù)為準(zhǔn)
'//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.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

這個和目前網(wǎng)上流行的不太一樣,用的是正則式來獲取非ANSI字符(這里默認(rèn)非ANSI字符為漢字,如果有偏差可以修改正則式來達(dá)到目的)。先注明一點(diǎn):函數(shù)指定長度以英文字符數(shù)為準(zhǔn)。即是指定為10,含義為10個英文或5個漢字
作了兩點(diǎn)優(yōu)化:
第一點(diǎn):直接獲取指定長度的字符,因?yàn)椴还苁侨珴h字還是全英文,最長不過是全英文長度,超過的字符是絕對淘汰字符。
第二點(diǎn):使用正則尋找范圍內(nèi)的漢字,并只遍歷每個漢字的字?jǐn)?shù),這樣可以最大程度上減少循環(huán)次數(shù)。

您可能感興趣的文章:

asp截取字符串的兩種應(yīng)用asp下實(shí)現(xiàn)截取字符串特定部分內(nèi)容函數(shù)asp 字符串截取函數(shù)GetBody asp實(shí)現(xiàn)截取字符串的代碼用asp實(shí)現(xiàn)的截取指定格式字符串的代碼asp從字符串里截取N個帶HTML的字符的函數(shù)ASP.NET 字符串截取asp CutStrX字符串截取函數(shù)(過濾全部HTML標(biāo)記)asp實(shí)現(xiàn)截取字符串函數(shù)
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 绥阳县| 合水县| 江安县| 乐东| 清水县| 镇赉县| 咸丰县| 通江县| 浦城县| 徐水县| 子洲县| 平阳县| 新郑市| 府谷县| 名山县| 都昌县| 苏州市| 芜湖县| 达拉特旗| 乌海市| 罗平县| 林周县| 南城县| 平阳县| 枣强县| 浦东新区| 邵阳市| 苏州市| 封开县| 陵水| 盘山县| 鄢陵县| 类乌齐县| 宁晋县| 东山县| 德钦县| 视频| 黄陵县| 遂昌县| 邯郸县| 元阳县|