C#中英文混合字符串截取 C#中英文混合字符串截取函数
人气:1想了解C#中英文混合字符串截取函数的相关内容吗,在本文为您仔细讲解C#中英文混合字符串截取的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C#,中英文,字符串截取,下面大家一起来学习吧。
代码一
/// <summary> /// 截断字符串 /// </summary> /// <param name="maxLength">最大长度</param> /// <param name="str">原字符串</param> /// <returns></returns> public static string CutStr(int maxLength, string str) { string temp = str; if (Regex.Replace(temp, "[\u4e00-\u9fa5]", "zz", RegexOptions.IgnoreCase).Length <= maxLength) { return temp; } for (int i = temp.Length; i >= 0; i--) { temp = temp.Substring(0, i); if (Regex.Replace(temp, "[\u4e00-\u9fa5]", "zz", RegexOptions.IgnoreCase).Length <= maxLength - 3) { return temp + "..."; } } return "..."; }
代码二
private string GetByteString(string center, int maxlen, string endStr) { string temp = center.Substring(0, (center.Length < maxlen + 1) ? center.Length : maxlen + 1); byte[] encodedBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(temp); string outputStr = ""; int count = 0; for (int i = 0; i < temp.Length; i++) { if ((int)encodedBytes[i] == 63) count += 2; else count += 1; if (count <= maxlen - endStr.Length) outputStr += temp.Substring(i, 1); else if (count > maxlen) break; } if (count <= maxlen) { outputStr = temp; endStr = ""; } outputStr += endStr; return outputStr; }
以上就是C# 截取字符串方法(包含中英混合)的实现代码,需要的朋友可以参考一下
加载全部内容