local string = require("string")
--string.format( "formatstring",... ) 格式化输出字符串
local s = string.format("%s is good language", "lua")
print("s = ", s)
local s1 = string.format("%s is good language", "c")
print("s1 = ", s1)
local s2 = string.format("%s is good language", "java")
print("s2 = ", s2)
--string.byte(s, i, j) 函数用于获取字符串中每个字符的ASCII码值
print("byte = ", string.byte("abc",1,3))
--string.char(byte, ...) 返回字节对应的字符
print("char = ", string.char(97, 98, 99))
--string.find(s, pattern, init, plain) 查找字符串出现的位置
-- s 原字符串
-- pattern 正则
-- init 指定了搜索的起始位置,默认为 1,可以一个负数,表示从后往前数的字符个数。
-- plain 表示是否使用简单模式,默认为 false,true 只做简单的查找子串的操作,false 表示使用使用正则模式匹配
print("find = ", string.find("abcad",'a', 2))
--string.gmatch(s, pattern, init)
--获取匹配到的值,是个数组
local s ="hello world from Lua"
for w in string.gmatch(s, "%a+") do
print("gmatch = ", w)
end
--string.gsub(s, pattern, repl, n)
--在字符串中替换
--s原字符串
--pattern 需要替换的子串
--repl 替换的字符串
--替换数量
print("gsub = ", string.gsub("aaaa","a","z",3))
--string.len(s)
--返回字符串长度
print("len = ", string.len("aa
"))
--string.upper(s)
--返回大写字符串
print("upper = ",string.upper('aaa'))
--string.lower(s)
--返回小写字符串
print("lower = ",string.lower('AAA'))
--string.match(s, pattern, init)
--从字符串中匹配符合的子串
--s原字符串
--pattern 正则
--init 可选 从什么位置开始匹配
print("match", string.match("I have 2 questions for you.", "%d+ %a+"))
--string.rep(s, n, sep)
--返回字符串string的n个拷贝
--s 原字符串
--n 数量
--sep 分隔符
print("rep =", string.rep("abc", 2, '|'))
--string.reverse(s)
--字符串反转
print("reverse = ", string.reverse("abc"))
--string.sub(s, i, j)
--截取字符串
--s 原字符串
--i 起始位置
--j 结束位置
print("sub = ", string.sub("abc",1,1))
--string.pack(fmt, v1, v2, ...)
--用于将一组数据打包成一个二进制字符串
--fmt格式化字符
-- > 大端 < 小端
print("pack = ",string.pack(">i3",10))
--string.unpack(fmt, s, pos)
--用于将字符串解包
--fmt格式化字符
-- > 大端 < 小端
print("unpack = ", string.unpack(">i3",string.pack(">i3",10)))
--string.packsize(fmt)
--打包大小
print("packsize = ",string.packsize(">i3"))