例如: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. .Net Core 商城微服务项目系列(八):购物车
  2. [转]C# WinForm 关于窗体最大化时的是否全屏效果与是否遮盖任务栏
  3. apply与applymap的区别
  4. C#SetWindowPos窗口置顶
  5. CentOS 初体验二十五:redis常用命令:sorted set
  6. Ubuntu14.04 ROS Indigo安装教程,以及卸载方法
  7. 计算机一级ie浏览器和电子邮件,2016年职称计算机考试Internet基础知识:利用IE收发电子邮件...
  8. 用筛选法求100之内的素数
  9. 评测通知 | 2022年全国知识图谱与语义计算大会评测任务发布
  10. pta c语言 凯撒密码
  11. Web.py Cookbook 简体中文版 - 保存上传的文件
  12. redis hashmap过期_看完这篇再也不怕 Redis 面试了
  13. linux进程通信system v,【linux高级程序设计】(第十一章)System V进程间通信 4
  14. SSH 连接、远程上传下载文件
  15. 【Django】The view userWeb.views. didn‘t return an HttpResponse object. It returned None instead.
  16. 机器太慢,导致获取系统剪贴板数据超时
  17. 我对jeecg-boot项目的理解、使用心得和改进建议
  18. IDEA设置背景与字体大小
  19. word中批量调整图片大小的方法
  20. “鹏城”伴你鹏程:下届全国人工智能大赛再会!

热门文章

  1. 分布式缓存Redis常见面试题
  2. 如何批量删除WORD中的制表符
  3. electron端实现录音播放功能
  4. 【制作微课的软件】Focusky教程 | 巧用对话框,让微课更生动
  5. P1343 地震逃生
  6. C++字符串数组 | 字符串数组输出
  7. Java SE 运算符
  8. Unity工程代码规范检测工具
  9. Android notification不能随系统语言切换而更新
  10. Nginx 反向代理斜杠问题--代理的8种情况