C#区分中英文按照指定长度截取字符串的方法
本文实例讲述了C#区分中英文按照指定长度截取字符串的方法。分享给大家供大家参考。具体如下:
这段C#代码用于按照指定的长度截取字符串,一个中文字符算2个字符,按照这个方法截取的字符串基本可以保持显示长度一致
///<summary> ///截取文本,区分中英文字符,中文算两个长度,英文算一个长度 ///</summary> ///<paramname="str">待截取的字符串</param> ///<paramname="length">需计算长度的字符串</param> ///<returns>string</returns> publicstaticstringGetSubString(stringstr,intlength) { stringtemp=str; intj=0; intk=0; for(inti=0;i<temp.Length;i++) { if(Regex.IsMatch(temp.Substring(i,1),@"[\u4e00-\u9fa5]+")) { j+=2; } else { j+=1; } if(j<=length) { k+=1; } if(j>length) { returntemp.Substring(0,k)+".."; } } returntemp; }
希望本文所述对大家的C#程序设计有所帮助。