zoukankan      html  css  js  c++  java
  • C# 根据字节数截取字符串(区别汉字,英文,数字)

    public string stringformat(string str,int n)
            {
                 ///
                ///格式化字符串长度,超出部分显示省略号,区分汉字跟字母。汉字2个字节,字母数字一个字节
                ///
                string temp=string.Empty;
                if(System.Text.Encoding.Default.GetByteCount(str)<=n)//如果长度比需要的长度n小,返回原字符串
                {
                    return str;
                }
                else
                {
                    int t=0;
                    char[] q=str.ToCharArray();
                    for(int i=0;i<q.Length;i++)
                    {
                        if((int)q[i]>=0x4E00 && (int)q[i]<=0x9FA5)//是否汉字
                        {
                        temp +=q[i];
                        t +=2;
                        }
                        else
                        {
                        temp +=q[i];
                        t+=1 ;
                        }
                        if(t>=n)
                        {
                            break;
                        }
                    }
                    return (temp + "...");
              }
            }

  • 相关阅读:
    pku 1077 Eight
    poj 1700 过河问题 贪心法
    字典树
    [转] 解读IntelliJ IDEA的优缺点
    【转】STL 容器类内部实现
    Google Chrome太强大了
    【转】从哈希存储到Bloom Filter
    [转]我的多年羽毛球自学心得
    好书推荐
    【转】C++错误中英文对照表
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/1844562.html
Copyright © 2011-2022 走看看