C#区分中英文统计字符串的长度

C#区分中英文统计字符串的长度

 

我们都知道C#中的string自已有一个Length属性,用来统计字符串的长度,如果字符都是中文或都是英文,那没什么问题,但如果出现中英文混合的情况,我们的统计结果就不太准确了,因为在计算机中,中文占两个字节的空间,英文占一个字节的空间,而stringLength不具备区分中英文的功能,所以它计算出来的长度并不准确,如我们在网页上显示字符时,有时候不能超过一定的长度,如果字符串是中英文混合,那载取的字符串长短不一,严重影响美观。     当然,我们可以用一种非常简单的方法来计算字符串的长度,而且是中文算两个字符,英文算一个字符,下面给出我一直在用的一个方法的源代码,供大家参考:
      /// <summary>  
      ///
计算文本长度,区分中英文字符,中文算两个长度,英文算一个长度
      /// </summary>
      /// <param name=”Text”>
需计算长度的字符串</param>
      /// <returns>int</returns>
      public int Text_Length(string Text)
      {

            int len=0;

            for(int i=0;i<Text.Length;i++)
            {

                byte[] byte_len = Encoding.Default.GetBytes(Text.Substring(i,1));
                if(byte_len.Length>1)
                    len += 2;  //如果长度大于1,是中文,占两个字节,+2
                else
                    len += 1;  //
如果长度等于1,是英文,占一个字节,+1
            }

            return len;
        }
    当然别忘了加上‘using System.Text;’,对System.Text的引用哦!!!

转载于:https://www.cnblogs.com/nofliu/archive/2010/03/25/1695463.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110794.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 云服务器搭建_免费云服务器

    云服务器搭建_免费云服务器在前一篇的基础上,现在对服务器进行环境搭建,其实就是安装你需要的软件,配置环境变量,然后安装tomcat。环境搭建1、gitbash连接服务器(或者XShell等工具)2、搭建mysql环境

    2022年8月3日
    9
  • 念念英文音标学习笔记

    念念英文音标学习笔记目录 1 国际音标介绍 2 i e 单词的重读音节 降调与升调 i i 对比读音 e 3 重读与弱读 can 与 can t 百科 句子重读 对比读音百科 弱读重读 cancan t 读音 4 e r 英美区别之 R

    2025年6月28日
    0
  • flyweight设计模式_适配器模式菜鸟

    flyweight设计模式_适配器模式菜鸟亨元模式动机模式定义实例结构要点总结笔记。动机在软件系统采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行时代价—主要指内存需求方面的代价如何在避免大量细粒度对象问题的同时,让外部客户仍然能够透明地使用面向对象地方式来进行操作模式定义运用共享技术有效地支持大量细粒度地对象。实例每一个字符都是一个字体 字体对象Fontclass Font{private: //unique object key string key; //object

    2022年8月9日
    11
  • 第1章、从零开始学Android[通俗易懂]

    第1章、从零开始学Android[通俗易懂]引子  滚滚长江东逝水  浪花淘尽英雄  是非成败转头空  青山依旧在  几度夕阳红  白发渔樵江渚上  惯看秋月春风  一壶浊酒喜相逢  古今多少事  都付笑谈中------------------------------------------  智能的机操作系统经过多盘厮杀,到现在形成了三足鼎立之势:Android、iOS、Window

    2022年4月30日
    38
  • jQuery获取及设置单选框、多选框、文本框内容建议收藏

    获取一组radio被选中项的值varitem=$('input[@name=items][@checked]').val();获取select被选中项的文本varitem=

    2021年12月20日
    38
  • Android的TCP Socket连接组件

    Android的TCP Socket连接组件

    2021年8月25日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号