• 截取文本,区分中英文字符,中文算两个长度,英文算一个长度


     /// <summary> 
      /// 截取文本,区分中英文字符,中文算两个长度,英文算一个长度
      /// </summary>
      /// <param name="str">待截取的字符串</param>
      /// <param name="length">需计算长度的字符串</param>
      /// <returns>string</returns>
      public static string GetSubString(string str, int length)
      {
        string temp = str;
        int j = 0;
        int k = 0;
        for (int i = 0; i < temp.Length; i++)
        {
          if (Regex.IsMatch(temp.Substring(i, 1), @"[u4e00-u9fa5]+"))
          {
            j += 2;
          }
          else
          {
            j += 1;
          }
          if (j <= length)
          {
            k += 1;
          }
          if (j > length)
          {
            return temp.Substring(0, k) + "...";
          }
        }
        return temp;
      }

  • 相关阅读:
    区块链|学习笔记(三)
    左神算法之获取栈中最小值
    23种设计模式之适配器模式
    二叉树序列化和反序列化
    归并排序
    通过集合构建RDD或者DataFrame
    内核源码分析——shuffle
    问题
    函数参数
    问题记录
  • 原文地址:https://www.cnblogs.com/602147629/p/5462625.html
Copyright © 2020-2023  润新知