zoukankan      html  css  js  c++  java
  • C#截取中英文混合字符串分行显示

     private int GetStrByteLength(string str)

        {

            return System.Text.Encoding.Default.GetByteCount(str);

        }

        private string SubStrLenth(string str, int startIndex, int length)

        {

            int strlen = GetStrByteLength(str);

            if (startIndex + 1 > strlen)

            {

                return "";

            }

            int j = 0;//记录遍历的字节数

            int L = 0;//记录每次截取开始,遍历到开始的字节位,才开始记字节数

            int strW = 0;//字符宽度

            bool b = false;//当每次截取时,遍历到开始截取的位置才为true

            string restr = string.Empty;

            for (int i = 0; i < str.Length; i++)

            {

                char C = str[i];

                if (ISChinese(C))

                {

                    strW = 2;

                }

                else

                {

                    strW = 1;

                }

                if ((L == length-1) && (L + strW > length))

                {

                    b = false;

                    break;

                }

                if (j >= startIndex)

                {

                    restr += C;

                    b = true;

                }

              

                j += strW;



                if (b)

                {

                    L += strW;

                    if (((L + 1) > length))

                    {

                        b = false;

                        break;

                    }

                }



            }

            return restr;

        }

  • 相关阅读:
    Flask快速入门(14) — 请求上下文2
    Flask快速入门(13) — 请求上下文1
    24 python异常机制
    11 python socket网络编程
    21 python调用外部系统命令
    10 python从键盘获取输入、刷新缓冲区
    18 python文件、目录操作
    17 python内置特殊方法
    15 python之ORM sqlalchemy模块使用
    14 python类的继承
  • 原文地址:https://www.cnblogs.com/DTWolf/p/4670149.html
Copyright © 2011-2022 走看看