入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

lua多种方式计算字符长度

创建时间:2017-04-16 投稿人: 浏览次数:3816

刚遇到一个坑,lua里  string.len() 中文长度算3(不排除某些汉字可能占4的可能)不过计算长度最好还是用 #,少用string.len()

搞了两小时,终于让我找到一个很好的解决办法。

local _,count = string.gsub(text, "[^128-193]", "")

匹配128到193以外的字节,然后替换成空字符串。长度直接 count就行。

这样不管是英文还是中文,都算一个长度。

既然标题上是多种,肯定会有另外一种。假设我这个长度只是用做显示呢,中文算2个字符,英文算1个字符呢。

  local count = 0
  for uchar in string.gfind(text, "([%z1-127194-244][128-191]*)") do 
    if #uchar ~= 1 then
      count = count +2
    else
      count = count +1
    end
  end 

这样就可以啦,我真佩服我自己的机智生气



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像