【Lua】String奇妙函数
简介
此文记录一下lua中string一些平时不太知道,但是用起来真奇妙的小功能/特性/规范...etc
声明方式
我们一般习惯使用' '
或" "
来声明,但是他同时还有一个方式,即[[
与]]
之间,并且支持换行。
local str = '我是单引号声明的字符串'
local str2 = "我是双引号声明的字符串"
local str3 = [[
我比较牛逼
我是可以换行的字符串
]]
不用不知道,一用就要查
string.gsub(mainString, findString, replaceString, num)
mainString 要匹配测试的字符串
findString 要替换的字符串
repalceString 要替换的字符串
num 替换次数(可忽略,则全部替换)
> string.gsub("aaaz", "a", "z", 2)
zzaz 2
string.rep(string, num)
返回字符串的num个拷贝
> string.rep("abcd", 2)
abcdabcd
string.gmatch(str, pattern)
返回一个迭代器函数,每次调用这个函数,返回一个匹配字符串,如果没有符合要求的,迭代函数返回nil.
> for word in string.gmatch("Hello Lua user", "%a+") do print(word) end
Hello
Lua
user
string.match(str, pattern, init)
只寻找源字串str中的第一个配对. 参数init可选, 指定搜寻过程的起点, 默认为1。
好玩的函数 string.sub
即支持正向截取,也支持反向截取,即
> string.sub("abcdefg", -2)
fg