C#截取定长字符串(全角觠混合串)

来源:互联网 发布:手机电脑屏幕同步软件 编辑:程序博客网 时间:2024/05/21 07:59

使用如下函数便好,其实inputString是源串,len是要截取的长度(以半角计算)。

原理很简单,就是逐个遍历源串中的字符,如果该字符是全角,则认为它占两个长度,如果是半角,就认为它占一个长度。 

    

  public static string CutString(string inputString, int len)        {            string tempString = string.Empty;            for (int i = 0, tempIndex = 0; i < inputString.Length; ++i, ++tempIndex)            {                if (System.Text.Encoding.UTF8.GetBytes(new char[] { inputString[i] }).Length > 1)                {                    ++tempIndex;                }                if (tempIndex >= len)                {                    tempString += "...";                    break;                }                tempString += inputString[i];            }            return tempString;        }

原文地址:点击打开链接

1 0