例如:UI显示规则:英文字符长度==1,中文字符长度==2,限制字符串显示长度不超过10,超出部分用"···"代替

playerNameText.text = StringUtility.AbbrevStringWithinLength("玩家de名字可能会很长的~",10,"···");
//结果:"玩家de名字···"
    /// <summary>/// 化简字符串长度/// </summary>/// <param name="targetStr"></param>/// <param name="targetLength">目标长度,英文字符==1,中文字符==2</param>/// <returns></returns>public static string AbbrevStringWithinLength(string targetStr,int targetLength,string abbrevPostfix){//C#实际统计:一个中文字符长度==1,英文字符长度==1//UI显示要求:一个中文字符长度==2,英文字符长度==1//校验参数if(string.IsNullOrEmpty(targetStr) || targetLength <= 0)return targetStr;//字符串长度 * 2 <= 目标长度,即使是全中文也在长度范围内if(targetStr.Length * 2 <= targetLength)return targetStr;//遍历字符char[] chars = targetStr.ToCharArray();int curLen = 0;for(int i = 0; i < chars.Length; i++){//累加字符串长度if(chars[i] >= 0x4e00 && chars[i] <= 0x9fbb)curLen += 2;elsecurLen += 1;//如果当前位置累计长度超过目标长度,取0~i-1,即Substring(0,i)if(curLen > targetLength)return targetStr.Substring(0,i) + abbrevPostfix;}return targetStr;}

【Unity/C#】限制字符串显示长度,比如限制玩家角色名字显示长度相关推荐

  1. Unity UGUI 之 实现 Text 文本文字过长,省略号显示(TextMeshPro 和常规 Text 二种方法)

    Unity UGUI 之 实现 Text 文本文字过长,省略号显示(TextMeshPro 和常规 Text 二种方法) 目录 Unity UGUI 之 实现 Text 文本文字过长,省略号显示(Te ...

  2. python3调用函数len结果不返回字符串长度_Python通过len函数返回对象长度

    英文文档: len(s) Return the length (the number of items) of an object. The argument may be a sequence (s ...

  3. 字符b是多少java_Java学习,对比字符串:比较字符串 a 和字符 b 是否完全一致,长度,内容等完全一致...

    目标: 从控制台输入字符串 a 和字符串 b 比较字符串 a 和字符 b 是否完全一致,长度,内容等完全一致. 如果完全一致,输出相同,如果不一致,输出不同. 第一种思路: import java.u ...

  4. php获取字符串商都_php strlen获取字符串字节长度和mb_strlen获取字符串个数长度的区别(strlen获取中文长度)...

    strlen获取字符串字节长度和mb_strlen获取字符串个数长度的区别,如果字符串是数字或者英文字母组成的话,它们2个的结果上体现不出区别,可是如果字符串是汉字组成的话它们2个的结果差异很大 重点 ...

  5. 在控制台中循环录入字符串,输入q时退出。 然后显示一个新的字符(Python)

    """ 在控制台中循环录入字符串,输入q时退出. 然后显示一个新的字符 """ list01 = [] while True:str_inp ...

  6. android 分割字符 指定长度_[Android]TextUtils.ellipsize()截取指定长度字符串(附图文混排)...

    参考:http://zilla.blog.51cto.com/3095640/984775 效果图: 实现代码:// 监听布局变化,直接获取显示的长度 txtDescription.getViewTr ...

  7. 如何将数据库中text字段中返回的数据转换成数组的形式,并且将字符串的数字转换成数字的形式显示

    如何将数据库中text字段中返回的数据转换成数组的形式,并且将字符串的数字转换成数字的形式显示 数据库text字段 数据库中的text字段在前端 界面返回的时候是成字符串的形式的,类似于下图 那么,在 ...

  8. 在目标字符串左边补零,使之达到预期长度

    在目标字符串左边补零,使之达到预期长度 /*** 在字符串的左边补零,使之达到指定长度* 例子: 123 转化成 0123* @param str 输入的字符串* @param expLen 预期的字 ...

  9. 不用spit函数在sqlserver中实现在一行中根据角色ID字符串显示该用户的所有角色功能

    最近在工作中遇到一个需求,要求获取管理员用户名及此管理员的所有角色名,因为T_user的userroleid字段存的是角色ID串,这个需求如果在数据库中有split函数的话很容易实现.可是没有,而在正 ...

最新文章

  1. 计算机视觉研究生文献和复现哪个更重要?
  2. linux shell写的文件断网没保存
  3. Android开发历程_18(XML文件解析)
  4. 解决linux mysql命令 bash: mysql: command not found 的方法
  5. python app教程-Python zipapp打包教程(超级详细)
  6. 聊聊storm TridentBoltExecutor的finishBatch方法
  7. Linux上端口开放常用命令
  8. main()与_tmain()区别
  9. python实现文件上传预览_前端实现文件预览功能
  10. 外部网络如何获取网口打印机的ip地址_Win7如何连接网络打印机?详细的新手DIY教程...
  11. 减去字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)
  12. c c和java最大的区别是什么,“一般”和“一般”之间的区别是什么,类型在C ++和Java?...
  13. python获取html文本框内容_Python3处理HTML获取所需内容
  14. typeof关键字简介
  15. `ll/sc` 指令在`linux`中的软件实现
  16. css单行文本和多行文本溢出实现省略号显示
  17. linux防挂马软件,Linux利用Python脚本检测网站挂马程序
  18. OSPF NBMA实验(单播、广播)
  19. 【Codeforces】Codeforces之丰【部分题解】
  20. 你可能不知道的GDB命令

热门文章

  1. 台式计算机如何设置三道密码,给win7电脑设置三级密码的详细步骤
  2. 什么是服务熔断?什么是服务降级?
  3. oracle 数据库自增
  4. Redis 消息队列的三种方案选型
  5. Python 全栈系列122 redis消息队列搭建
  6. 我的世界服务器怎么修改血量,我的世界怎么设置血量指令 | 手游网游页游攻略大全...
  7. Turtle 模块基础详解-画曲线
  8. 破壁,宝藏艺术家登场!(二)
  9. 美通社日历 | 媒体关注、会展信息、企业财报发布,节假日备忘(2月1日—2月7日)...
  10. C 语言char类型与int类型的转化