Lua-运算符、字符串

2019-05-30 18:28:19 浏览数 (1)

运算符优先级 从高到低的顺序:

代码语言:javascript复制
^
not    - (unary)
*      /
       -
..
<      >      <=     >=     ~=     ==
and
or

eg:

代码语言:javascript复制
-- 运算符优先级
print( 2 3 * 2 ^ 2 .."!");

输出结果:

14.0!

字符串

代码语言:javascript复制
string.gsub(mainString,findString,replaceString,num)

在字符串中替换,mainString为要替换的字符串, findString 为被替换的字符,replaceString 要替换的字符,num 替换次数(可以忽略,则全部替换),如:

string.gsub("aaaa","a","z",3); zzza 3

代码语言:javascript复制
string.format(...)

返回一个类似printf的格式化字符串

string.format("the value is:%d",4) the value is:4

代码语言:javascript复制
string.gmatch(str, pattern)

回一个迭代器函数,每一次调用这个函数,返回一个在字符串 str 找到的下一个符合 pattern 描述的子串。如果参数 pattern 描述的字符串没有找到,迭代函数返回nil。

for word in string.gmatch("Hello Lua user", "%a ") do print(word) end Hello Lua user

代码语言:javascript复制
string.match(str, pattern, init)

string.match()只寻找源字串str中的第一个配对. 参数init可选, 指定搜寻过程的起点, 默认为1。 在成功配对时, 函数将返回配对表达式中的所有捕获结果; 如果没有设置捕获标记, 则返回整个配对字符串. 当没有成功的配对时, 返回nil。

= string.match("I have 2 questions for you.", "%d %a ") 2 questions

= string.format("%d, %q", string.match("I have 2 questions for you.", "(%d ) (%a )")) 2, "questions"

0 人点赞