zoukankan      html  css  js  c++  java
  • C# 截取字符串,区分中英文情况

     1 public static string SubstringByCN(string strInput, int begin, int length)
     2         {
     3             if (!Regex.IsMatch(strInput, "[u4E00-u9FA5uF900-uFA2D]", RegexOptions.IgnoreCase))
     4             {
     5                 if (strInput.Length < length)
     6                     return strInput;
     7                 else
     8                     return strInput.Substring(0, length);
     9             }
    10             else
    11             {
    12                 string checkstr = Regex.Replace(strInput, "[u4E00-u9FA5uF900-uFA2D]", "**", RegexOptions.IgnoreCase);
    13                 if (checkstr.Length < length)
    14                     return strInput;
    15                 else
    16                 {
    17                     string strOut = "";
    18                     int strLength = 0;
    19                     for (int i = 0; i < strInput.Length; i++)
    20                     {
    21                         if (strLength >= length)
    22                             break;
    23                         strOut += strInput.Substring(i, 1);
    24                         if (!Regex.IsMatch(strInput.Substring(i, 1), "[u4E00-u9FA5uF900-uFA2D]", RegexOptions.IgnoreCase))
    25                             strLength += 1;
    26                         else
    27                             strLength += 2;
    28                     }
    29                     return strOut;
    30                 }
    31             }
    32         }
  • 相关阅读:
    29
    28
    27
    950. 按递增顺序显示卡牌
    25
    20190624
    409. 最长回文串
    636. 函数的独占时间
    LeetCode 1046. 最后一块石头的重量(1046. Last Stone Weight) 50
    LeetCode 942. 增减字符串匹配(DI String Match) 49
  • 原文地址:https://www.cnblogs.com/lyghost/p/3383690.html
Copyright © 2011-2022 走看看