zoukankan      html  css  js  c++  java
  • 按字符串长度切割字符串(支持汉字占2个长度)

    /// <summary>
    /// 按指定长度切割字符串(汉字算2个字符长度)
    /// </summary>
    /// <param name="input">输入字符串</param>
    /// <param name="newlinLength">按指定长度切割换行</param>
    /// <returns>输出字符串(中英混合行可能是newlinLength+1个长度 )</returns>
    public string StringSplit(string input, int newlinLength = 5)
    {
        System.Text.StringBuilder sbResult = new System.Text.StringBuilder();
        int linLength = 0;
        for (int i = 0; i < input.Length; i++)
        {
            linLength += System.Text.Encoding.Default.GetBytes(input[i].ToString()).Length;
            sbResult.Append(input[i]);
            if (linLength > newlinLength)
            {
                linLength = 0;
                sbResult.Append(Environment.NewLine);
            }
        }
        return sbResult.ToString();
    }
    
    /// <summary>
    /// 按指定长度切割字符串(汉字算1个字符长度)
    /// </summary>
    /// <param name="input">输入字符串</param>
    /// <param name="newlinLength">按指定长度切割换行</param>
    /// <returns>输出字符串数组</returns>
    public string[] StringSplit2(string input, int newlinLength = 5)
    {
        //string reg = @"(?<=G.{5})(?!$)";
        //string reg2 = "(?<=\G.{5})";
        var temp = Regex.Split(input, @"(?<=G.{" + newlinLength + "})(?!$)");
        //temp.ToList().ForEach(t => Console.WriteLine(t));  
        return temp.ToArray<string>();
    }
  • 相关阅读:
    学生信息录入系统
    作业11(增删改查listview)
    作业10(qq增删改查)
    作业9
    作业8
    作业7
    右键打开Windows Terminal
    axure 动态面板中滚动条
    TortoiseSVN服务端的配置与使用
    hfs使用小技巧
  • 原文地址:https://www.cnblogs.com/linmilove/p/8097396.html
Copyright © 2011-2022 走看看