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

首頁 > 編程 > ASP > 正文

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

2024-05-04 11:09:12
字體:
來源:轉載
供稿:網友
本函數作用是截取指定英漢混合字符串,并保持顯示長度一至。就是將一個漢字當兩英文來截取。
 
 
 
說明:本函數作用是截取指定英漢混合字符串,并保持顯示長度一至。就是將一個漢字當兩英文來截取。 
用途:一般會用在標題顯示列表,可以避免截取的字符串參插不齊的現象。 
程序代碼 
復制代碼代碼如下:

'//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個漢字 
作了兩點優化: 
第一點:直接獲取指定長度的字符,因為不管是全漢字還是全英文,最長不過是全英文長度,超過的字符是絕對淘汰字符。 
第二點:使用正則尋找范圍內的漢字,并只遍歷每個漢字的字數,這樣可以最大程度上減少循環次數。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五莲县| 井研县| 白银市| 鱼台县| 靖远县| 五原县| 汝阳县| 郸城县| 霞浦县| 思南县| 淮阳县| 珲春市| 无极县| 米林县| 慈利县| 左权县| 都江堰市| 将乐县| 丰原市| 台湾省| 邹城市| 石城县| 庆元县| 洪江市| 仲巴县| 桂阳县| 山东省| 芮城县| 于都县| 措勤县| 古蔺县| 阿合奇县| 常山县| 景泰县| 水富县| 平果县| 三门县| 芮城县| 平湖市| 额济纳旗| 普洱|