lua 截取中文UTF8字符串

原创 2015年11月18日 16:52:31
function FormotGameNickName(nickname,len)
    if nickname==nil then
        return ""
    end
    local lengthUTF_8 = #(string.gsub(nickname, "[\128-\191]", ""))
    if lengthUTF_8 <= len then
        return nickname
    else
        local matchStr = "^"
        for var=1, len do
            matchStr = matchStr..".[\128-\191]*"
        end
        local str = string.match(nickname, matchStr)
        return string.format("%s..",str);
    end

end

local nameString = "aaa游客abcdefghijklmnopqrstuvwxyz"

print(FormotGameNickName(nameString,5))--aaa游客..

相关文章推荐

lua 含中文的字符串处理--分离字符、计算字符数、截取指定长度

lua中对中文字符串的一些处理 分离字符 将每个字符分离出来,放到table中,一个单元内一个字符 function StringToTable(s) local tb = {} ...
  • a102111
  • a102111
  • 2016年08月12日 20:18
  • 3118

lua如何截取中英文混合字符串

lua在utf8下一个中文字长度为3,这样在中英文混排时截取字符串就比较麻烦,下面的函数是中文字长度为1下的处理 -- 获取utf8编码字符串长度,中文长度为1 function utfs...

lua字符串截取

local str="hello world!" string.sub(str,1,string.len(str)-1) -- hello word string.sub(st...

lua中截取UTF8字符串的方法(无乱码)

function SubUTF8String(s, n) local dropping = string.byte(s, n+1) if not dropping then retur...

Lua 计算 UTF8 字符串的长度,每一个中文算一个字符

Lua 计算 UTF8 字符串的长度,每一个中文算一个字符

Lua string.sub截取UTF8 中英混合字符

在使用Lua的过程中,经常会遇到需要截取字符串或者获得字符串真实长度的情况,而Lua自带的string.sub()对于中文字符会当作3个字符来处理,截取时会造成乱码。所以需要自己改造下,一下方法是我改...

Lua中string.format转义符的使用

虽然lua中字符串拼接”string.format“相对于”..“消耗较大,但有时为了代码的可读性,项目中还是经常用到”string.format“。至于这两个用法的性能看源码也很容易看出来,这里就简...

Lua切割中文字符串,按指定字符,切割字符串

function LuaSplit(str, split_char) if str == "" or str == nil then return {}; end ...
  • sftxlin
  • sftxlin
  • 2015年09月07日 22:45
  • 2032

lua用UTF-8处理汉字

lua用UTF-8处理汉字 UTF8的编码规则: 1. 字符的第一个字节范围: 0x00—0x7F(0-127),或者 0xC2—0xF4(194-244); UTF8 是兼容 asci...

lua 中文 汉字 utf-8

lua 的string库不支持处理utf-8编码的汉字。用lua要处理汉字还是很费劲的。 UTF8的编码规则: 1. 字符的第一个字节范围: 0x00—0x7F(0-1...
  • jbhand
  • jbhand
  • 2015年04月28日 14:47
  • 1748
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:lua 截取中文UTF8字符串
举报原因:
原因补充:

(最多只允许输入30个字)