zoukankan      html  css  js  c++  java
  • asp.net中如何计算中英文混合字符串长度

     

    方法一

         

       /// <summary>
    
            /// 获取中英文混合字符串的文字长度(1个英文占1个长度,1个汉字占2个长度)
    
            /// </summary>
    
            /// <param name="stringWithEnglishAndChinese">中英文混合的字符串</param>
    
            /// <returns>字符串长度(1个英文占1个长度,1个汉字占2个长度)</returns>
    
            public int GetEnglishLength(string stringWithEnglishAndChinese) {
    
                int lng = 0;
    
                for (int i = 0; i < stringWithEnglishAndChinese.Length; i++) {
    
                    byte[] b = System.Text.Encoding.Default.GetBytes(stringWithEnglishAndChinese.Substring(i,1));
    
                    if (b.Length > 1)
    
                        lng += 2;
    
                    else
    
                        lng += 1;
    
                }
    
                return lng;
    
            }

    方法二

         

       /// <summary>
    
            /// 获取中英文混合字符串的文字长度(1个英文占1个长度,1个汉字占2个长度)
    
            /// </summary>
    
            /// <param name="stringWithEnglishAndChinese">中英文混合的字符串</param>
    
            /// <returns>字符串长度(1个英文占1个长度,1个汉字占2个长度)</returns>
    
            public int GetStringLengthWithChinese(string strWithEnglishAndChinese) {
    
                int lng = 0;
    
                Regex reg = new Regex("[\u4E00-\u9FA5]");
    
                char[] chrs = strWithEnglishAndChinese.ToCharArray();
    
                foreach (char c in chrs) {
    
                    if (reg.IsMatch(c.ToString()))
    
                    {
    
                        lng += 2;
    
                    }
    
                    else {
    
                        lng += 1;
    
                    }
    
                }
    
                return lng;
    
            }
    
     
  • 相关阅读:
    day 22 反射,双下方法
    day 21 封装,多态,类的其他属性
    day 20 类与类之间的关系,继承2
    day 19 类的名称空间,组合,派生
    day 18 类,对象
    day 17 re模块
    注意NULL
    SQL_DISTINCT
    重载赋值运算符
    随机序列问题
  • 原文地址:https://www.cnblogs.com/iwenwen/p/3128728.html
Copyright © 2011-2022 走看看