首先string库中所有字符索引从前往后是1,2....; 从后往前是-1,-2.....
string.len(str)
获得字符串str的长度
str = "testA"
print(string.len(str)) -- 打印结果是5
string.rep(str,n)
获得字符串str重复n次之后的字符串,入str="abc", n = 2 则返回结果是"abcabc"
str = "testA"
print(string.rep(str,2)) -- 打印结果是testAtestA
string.lower(str)
将全部字符串转换为小写 入”AbAb“ ---> "abab"
str = "testA"
print(string.lower(str)) -- 打印结果是testa
将全部字符串转换为大写 如"AbAb" ----> "ABAB"
str = "testA"
print(string.upper(str)) -- 打印结果是TESTA
string.format(str,...)
string.format()是格式化函数,希望有特殊格式转换操作用string.format()是一个很好的解决方案
str 为字符串格式,后面的参数可以随便加,用于填充第一个参数中的格式控制符,最后返回完整的格式化后的字符串
常用的格式运算符
%s ---> 接受一个字符串
%d ---> 接收一个数字
%f ---> 接受一个浮点型类型
%x ---> 接收一个数字并将转化为小写的十六进制格式
%X ---> 接受一个数字并将转化为大写的十六进制格式
%c ---> 接受一个字符,并转化为ASCII码表中对应的字符
%d,%i ---> 接受一个数字并将其转化为有符号的正数格式
str = "testA"
str1 = "testA1"
print(string.format("%s,%s",str,str1)) -- 打印结果是testA,testA1
string.sub(str,start,end)
截取一段字符串 参数end可以不写, 默认状态是一直到字符串末尾
str = "test string.sub usage"
print(string.sub(str,6)) -- 打印结果是"string.sub usage"
print(string.sub(str,-5)) -- 打印结果是"usage"
print(string.sub(str,6,11)) -- 打印结果是"string"
string.find(str, point, n)
在字符串str中查找为point相同的字符的位置, 返回的结果是 找到符合条件的位置的字符串入”abceds“ 我要找”ced“ 则返回的结果是"3 6"
str = "test A B C D,test A B C D,test A B C D"
print(string.find(str,"A B")) -- 打印结果是6 8
print(string.find(str,"A B",19)) -- 打印结果是 19 21