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;

        }

  • 相关阅读:
    (二)ElasticSearch-Rest命令操作
    (一)ElasticSearch介绍
    (四)SpringCloudAlibaba处理分布式事务-Seata
    网络设备及组网知识
    GITLAB使用
    Ionic APP开发
    开发工具快捷键大全
    web socket接口测试 Jmeter压力测试工具
    VMware Workstation pro无法在Windows上运行,检查可在Windows上运行的此应用的更新版本
    克隆管理员账号
  • 原文地址:https://www.cnblogs.com/DTWolf/p/4670149.html
Copyright © 2011-2022 走看看