解决lua中截取字符串(中英文混合)赋值失败的问题
来源:互联网 发布:淘宝卖家多长时间回款 编辑:程序博客网 时间:2024/06/03 15:30
UTF-8中一个汉字字符占三个字节,有时候我们截取的字符串中是中英文混合的字符串,在截取的时候可能机会得到我们意想不到的结果,打个比方说: local str = “hello中国” string.sub(str,1,6),这样子得到的结果就是hello? 这样的字符串是不能在quick-lua里面作为控件的strString()这个方法的,原因就是截取字符串的时候有些汉字截得不全,导致字符串乱码,就像上面那样,我这里的解决方案是,能够截取一个完整的汉字就截取这个汉字,当有汉字截取不完的时候,就丢弃掉,代码如下:
function g_stringNum( str,num) local str = str or "你忘记传入字符串了" local num = num or 6 local lenInByte = #str local count = 0 local index = 0 local flag = false if lenInByte == 0 then return str end for i=1,lenInByte do local curByte = string.byte(str, i) if curByte>0 and curByte<=127 then flag = true index = index + 1 if index >= num then str = string.sub(str,1,index) return str end else if flag then count = 0 flag = false end count = count + 1 index = index + 1 if (count % 3) == 0 then count = 0 end if index >= num then if count == 0 then str = string.sub(str,1,index) print("g_stringNum"..str) return str else str = string.sub(str,1,index-count) print("g_stringNum"..str) return str end end end end return strend
0 0
- 解决lua中截取字符串(中英文混合)赋值失败的问题
- lua截取中英文混合字符串
- lua如何截取中英文混合字符串
- 用CSS解决中英文混合字符串的截取省略问题的解决办法
- 用CSS解决中英文混合字符串的截取省略问题的解决办法
- 用CSS解决中英文混合字符串的截取省略问题的解决办法
- 用CSS解决中英文混合字符串的截取省略问题的解决办法
- PHP中字符串超长的中英文混合截取
- 截取中英文混合字符串
- 截取中英文混合字符串
- 中英文混合字符串截取
- 中英文混合字符串截取
- .NET 截取中英文混合的字符串。(增强版)
- Oracle截取中英文混合字符串的处理
- 如何正确截取中英文混合的字符串?
- .NET 截取中英文混合的字符串。
- lua 截取中英文字符串
- (JAVA)截取中英文混合字符串
- getattr and @property
- 计算机图形学07一一 多边形理解 理解 奇偶规律 非零环绕数
- Android系统版本与代号
- Ubuntu 上安装截图工具 Shutter,及系统基本截图快捷键设置
- git 常用命令
- 解决lua中截取字符串(中英文混合)赋值失败的问题
- 使用百度地图遇到的坑
- Spring入门3——注解篇
- git 的基本使用
- http://www.cnblogs.com/evempire/p/5620609.html
- L2-008. 最长对称子串
- Codeforces 518E Arthur and Questions【贪心+模拟】很考量代码能力的一个题
- 多态
- Spring学习心得(20)--aop的需求分析:错误异常分析