--string.len(s)
--返回字符串s的长度
--string.rep(s,n)
--返回重复n次字符串s的串,你使用string.rep("a",2^20)可以创建一个1M bytes的字符串(比如,为了测试需要);
--string.lower(s)
--将s中的大写字母转换成小写(string.upper将小写转换成大写).如果你想不关心大小写对一个数组进行排序的话,你可以这样:
--string.upper(s)
--将s中的小写字母转换成大写
--string.sub(s,i,j)
--函数截取字符串s的从第i个字符到第j个字符之间的串.Lua中,字符串的第一个字符索引从1开始.你也可以使用负索引,负索引从字符串的结尾向前计数:-1指向最后一个字符,-2指向倒数第二个,以此类推.
--所以,
--string.sub(s,1,j)返回字符串s的长度为j的前缀;
--string.sub(s,j,-1)返回从第j个字符开始的后缀.
--如果不提供第3个参数,默认为-1,因此我们将最后一个调用写为string.sub(s,j);
--string.sub(s,2,-2)返回去除第一个和最后一个字符后的子串.
- s = "[in brackets]"
- print(string.sub(s, 2, -2)) --> in brackets
- s = string.sub(s, -2)
--string.char函数和string.byte函数用来将字符在字符和数字之间转换.
--string.char获取0个或多个整数,将每一个数字转换成字符,然后返回一个所有这些字符连接起来的字符串.
--string.byte(s,i)将字符串s的第i个字符的转换成整数;第二个参数是可选的,缺省情况下i=1.
- print(string.char(97)) --> a
- i = 99;
- print(string.char(i, i+1, i+2)) --> cde
- print(string.byte("abc")) --> 97
- print(string.byte("abc", 2)) --> 98
- print(string.byte("abc", -1)) --> 99