123456789101112131415161718192021222324252627282930313233343536373839404142 |
-
- namespace JLHHJSvr.Helper
- {
- public static class StringEx
- {
- /// <summary>
- /// 按中文代表两字符的方式发截断字符串(返回字符串的长度小于等于len)
- /// </summary>
- /// <param name="str">原字符串</param>
- /// <param name="len">长度</param>
- /// <returns></returns>
- public static string SubStringEx(this string str, int len)
- {
- if (string.IsNullOrEmpty(str) || len <= 0)
- {
- return string.Empty;
- }
-
- int l = str.Length;
-
- #region 计算长度
- int clen = 0;
- while (clen < len && clen < l)
- {
- //每遇到一个中文,则将目标长度减一。
- if ((int)str[clen] > 128) { len--; }
- clen++;
- }
- #endregion
- if (len < 0)
- {
- len = 0;
- }
- if (len > str.Length)
- {
- len = str.Length;
- }
- return str.Substring(0, len);
- }
- }
- }
|