lua string库 字符串 用法详解
- 注:string库中所有的函数都不会直接修改原字符串,只返回新结果。
- 加[,]的参数指缺省,即可有可无,
string.len (s)
接收一个字符串,返回其长度。 空串 “” 的长度为 0 。 内嵌零也统计在内
string.len("abc") -- 返回:3
string.len("a\000bc\000") -- 返回:5
以上只支持英文,utf8 中文字符长度 详情请见下一章”强大的匹配模式”
local _, count = string.gsub("中文utf8", "[^\128-\193]", "") -- count = 6
或lua自带的utf8支持(5.3版本)
utf8.len (s [, i [, j]])
返回字符串 s 中 从位置 i 到 j 间 (包括两端) UTF-8 字符的个数。 默认的 i 为 1 ,默认的 j 为 -1 。 如果它找到任何不合法的字节序列, 返回假值加上第一个不合法字节的位置。
string.byte (s [, i [, j]])
返回字符 s[i], s[i+1], … ,s[j] 的内部数字编码。 i 的默认值是 1 ; j 的默认值是 i。 数字编码没有必要跨平台。
string.byte("abcABC", 1, 6) -- 返回:97 98 99 65 66 67
string.char (···)
接收零或更多的整数。 返回和参数数量相同长度的字符串。 其中每个字符的内部编码值等于对应的参数值。
string.char(97, 98, 99) -- 返回:abc
string.lower (s)
大写转小写
string.lower("ABc") -- 返回:abc
string.upper (s)
小写转大写
string.upper("ABc") -- 返回:ABC
string.rep (s, n [, sep])
返回 n 个字符串 s 以字符串 sep 为分割符连在一起的字符串。 默认的 sep 值为空字符串(即没有分割符)。 如果 n 不是正数则返回空串。
string.rep("wzz", 3, ",") -- 返回:wzz,wzz,wzz
string.reverse (s)
返回字符串 s 的翻转串。
string.reverse("abc") -- 返回:"cba"
string.sub (s, i [, j