using System; using System.Text; namespace Demo { class Program { static void Main(string[] args) { string[] str = new string[] { "1111iiiiiiQQQQQ字符串截取(长度一致)11111111111111", "字符串截取(长度一致)字符串截取(长度一致)", "iiiiiiiiiiiiiiiiiiiiiii" }; for (int i = 0; i < str.Length; i++) { Console.Write(CutString(str[i], 20) + "\n"); } Console.ReadKey(); } 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; } } }
效果图:
![]()
字符串截取(长度一致)
最新推荐文章于 2025-02-15 22:58:33 发布