string.len(s) string.rep(s,n) string.lower(s) string.upper(s) string.sub(s,i);//截取s第i个开始的后缀 string.sub(s,i,j)//截取s中第i个开始到第j个结束的字符串 string.gsub(s,"h","a")//在s中搜索子串“h”并且用“a”替换 string.char(97)-->a输出这个数对应的asc码 string.char(i,i+1,i+2)-->cde string.byte("abc")-->97 string.byte("abc",2)-->98 string.byte("abc",-1)-->99 string.byte("abc",1,3)-->97,98,99 string.byte(recbuffer,8)-->输出第八个字符对应的两位十六进制数? string.format("p=%d",2)-->p=2格式化数据 s="hello world" string.find(s,"hello")-->1,5 string.find(s,"world")-->7,11 string.find(s,"adc")-->nil s="deadline is 30/04/2017" date="%d%d/%d%d/%d%d%d%d" string.sub(s,string.find(s,date))-->30/04/2017 date = "now is 2014/10/6 17:58" d = string.match(date, "%d+/%d+/%d+") print(d) --> 2014/10/6 string.gmatch函数将返回一个迭代器, 用于迭代所有出现在给定字符串中的匹配字符串。 for w in string.gmatch(str, "0x%x+") do tmp=string.sub(w,3); retStr = retStr .. string.char(tonumber(tmp,16)); end//找到所有str中匹配0x..的字段并且取出每个字段中的十六进制字符转化成数字并且获得相应的字符 . 任意字符 %a 字母 %c 控制字符 %d 数字 %l 小写字母 %p 标点 %u 大写字母 %w 字母和数字 %x 十六进制数字 %z 代表0的字符 //所有的对应的大写为其补集