参考链接:
http://cloudwu.github.io/lua53doc/manual.html#pdf-string.byte
1.string.gsub
gsub是Global SUBstitution的缩写,即全局替换
返回结果和匹配次数
local str, num = string.gsub("p皮啊b皮啊", "啊", "hi"); print(str);--p皮hib皮hi print(num);--2
2.string.gmatch
gmatch,全局匹配
返回一个迭代器函数
s = "hello啊啊world啊from啊Lua" for w in string.gmatch(s, "啊") do print(w) end -- 啊 -- 啊 -- 啊 -- 啊
3.string.sub
字符串截取,声明为:string.sub (s, i [, j]),表示截取第i到第j个字节的字符串
要注意的是在utf-8中,1个英文占1个字节,1个中文占3个字节,所以截取含中文的字符串可能会有问题
print(string.sub("abcd", 2, 3));--bc print(string.sub("a哈啊皮啊皮", 1, 2));--a�(乱码)
4.string.match
匹配,非全局
返回第一个匹配到的字符串
print(string.match("啊啊皮啊皮哈哈", "皮"));--皮
5.string.len
返回字节数
print(string.len("ab"));--2 print(string.len("a啊b"));--5
6.string.byte
返回指定范围的内部数字编码
print(string.byte("啊", 1, 3));--229 149 138
7.string.find
返回第一个匹配到的字符串的起始和结束位置
print(string.find("啊a皮啊哈", "皮"));--5 7