【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
posted @ 2020-09-19 11:48  九梦岛主  阅读(172)  评论(0编辑  收藏  举报