这个函数也没有什么特别之处,就是可以截取一定长度的字符串,可能小特点就是len是字节,解决了汉字与英文字节不一样导致直接截取到的长度不一样的问题, #region 字符串截取函数 public static string CutString(string inputString,int len) { ASCIIEncoding ascii = new ASCIIEncoding(); int tempLen=0; string tempString=""; byte[] s = ascii.GetBytes(inputString); for(int i=0;i<s.Length;i++) { if((int)s[i]==63) { tempLen+=2; } else { tempLen+=1; } try { tempString+=inputString.Substring(i,1); } catch { break; } if(tempLen>len) break; } //如果截过则加上半个省略号 byte[] mybyte=System.Text.Encoding.Default.GetBytes(inputString); if(mybyte.Length>len) tempString+="…"; return tempString; } #endregion
|