文档章节

中英文截取长度

Kiddy-Adult
 Kiddy-Adult
发布于 2017/04/22 13:55
字数 158
阅读 1
收藏 0
View Code
#region 中英文截取长度一致
    //是否是中文
    public static bool IsChinese(char c)
    {
        return (int)c >= 0x4E00 && (int)c <= 0x9FA5;
    }

    //获得字节长度
    private static int getLengthb(string str)
    {
        return System.Text.Encoding.Default.GetByteCount(str);
    }

    //c#的中英文混合字符串截取指定长度,startidx从0开始 by gisoracle@126.com
    public static string getStrLen(string str, int startidx, int len)
    {
        int Lengthb = getLengthb(str);
        if (startidx + 1 > Lengthb)
        {
            return "";
        }
        int j = 0;
        int l = 0;
        int strw = 0;//字符的宽度
        bool b = false;
        string rstr = "";
        for (int i = 0; i < str.Length; i++)
        {
            char c = str[i];
            if (j >= startidx)
            {
                rstr = rstr + c;
                b = true;
            }
            if (IsChinese(c))
            {
                strw = 2;
            }
            else
            {
                strw = 1;
            }
            j = j + strw;
            if (b)
            {
                l = l + strw;
                if ((l + 1) >= len) break;

            }
        }
        return rstr;
    }
    #endregion

 

本文转载自:http://www.cnblogs.com/kongdf/archive/2012/06/27/2566476.html

Kiddy-Adult
粉丝 0
博文 47
码字总数 1637
作品 0
苏州
高级程序员
私信 提问
lua 截取字符,以及取字符个数(非字符串长度)

需求 按字面个数来截取 错误方法 网上找了一些算法, 都不太正确; 要么就是乱码, 要么就是只考虑了4 byte 中文的情况, 不够全面 string.sub(s,1,截取长度4) 网上很多直接使用”“是肯定不对的...

赵占涛
2016/10/14
568
0
PHP 如何截取标题长度 UTF-8编码

文章内容页右侧需要调用一些类似热门文章、推荐文章,但文章标题长度有可能会超出宽度,如何截取标题的长度呢,本人使用 substr($str, 40) 会出现乱码 使用 mb_substr 又无法正确截取英文字母...

OSC老司机
2012/02/23
2.5K
7
PHP substr()截取字符串时,中文出现乱码的问题解决

在PHP程序开发中,经常会执行字符串的截取操作,比如输出信息列表时,标题不宜过长,打印文章摘要时,也要执行一系列的字符串截取操作。遇到这些需求时,我们经常会想到使用substr()方法来实...

bengozhong
2016/10/10
49
0
TextView图文混排图片被截断的问题以及Android省略号只有一个点的问题

TextView中实现图文混排主要采用的是SpannableStringBuilder、ImageSpan、正则表达式协同完成,具体的实现,自己去百度吧。 今天主要想说的是在图文混排的时候,如果TextView设置了最大长度并...

一叶飘舟
05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

哪些情况下适合使用云服务器?

我们一直在说云服务器价格适中,具备弹性扩展机制,适合部署中小规模的网站或应用。那么云服务器到底适用于哪些情况呢?如果您需要经常原始计算能力,那么使用独立服务器就能满足需求,因为他...

云漫网络Ruan
今天
10
0
Java 中的 String 有没有长度限制

转载: https://juejin.im/post/5d53653f5188257315539f9a String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西...

低至一折起
今天
23
0
OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
11
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
9
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部