• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

在Lua中计算含中文的字符串的长度

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 1 --[[
 2     @desc: 计算字符串字符个数
 3     author:{author}
 4     time:2017-12-29 16:08:11
 5     --@inputstr: 源字符串
 6     return 字符个数
 7 ]]
 8 function getStringCharCount(str)
 9     local lenInByte = #str
10     local charCount = 0
11     local i = 1
12     while (i <= lenInByte) 
13     do
14         local curByte = string.byte(str, i)
15         local byteCount = 1;
16         if curByte > 0 and curByte <= 127 then
17             byteCount = 1                                               --1字节字符
18         elseif curByte >= 192 and curByte < 223 then
19             byteCount = 2                                               --双字节字符
20         elseif curByte >= 224 and curByte < 239 then
21             byteCount = 3                                               --汉字
22         elseif curByte >= 240 and curByte <= 247 then
23             byteCount = 4                                               --4字节字符
24         end
25         
26         local char = string.sub(str, i, i + byteCount - 1)
27         i = i + byteCount                                               -- 重置下一字节的索引
28         charCount = charCount + 1                                       -- 字符的个数(长度)
29     end
30     return charCount
31 end

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
用openresty编写lua发布时间:2022-07-22
下一篇:
Lua中的字符串函数库发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap