前言 在游戏中,我们经常会遇到汉字的多行显示,比如名字竖行显示等。如下图:为了实现上面的效果,lua实现分行是通过 \n 实现的,所以我们需要取出汉字,然后插入 \n 实现分行效果。还有一种就是设置Label的的实际大小,也可以实现分行效果。操作中文字符串,获取字符串长度 local str = "哈哈哈哈"
local _,strTest = string.
转载
2024-02-25 08:03:12
260阅读
字符串(Literal strings) 以单引号或者双引号定界,同时可以包含以下C语言风格的转义字符:
\a --- 铃声(bell) \b --- 回退(backspace) \f --- form feed \n --- 新行(newline) \r --- 回车(carriage return) \t --
转载
2024-02-16 22:21:51
294阅读
Lua中我们可能会遇到各种查找替换的相关操作,今天把看到的记录了一下;find:字符串查找gfind:全局字符串查找gsub:全局字符串替换gmatch:返回找到的字符串的迭代器string.gsub(str,pattern,repl,n)根据给定的配对表达式对源字符串str进行配对, 同时返回源字符串的一个副本, 该副本中成功配对的所有子字符串都将被替换. 函数还将返回成功配对的次数. str:
转载
2024-04-12 19:57:03
27阅读
文章目录一、前言二、lua在线测试三、lua正则表达式元字符四、string.find(s, pattern[, init[, plain]])1、案例1:pattern明确搜索2、案例2:pattern分组正则搜索(一个分组)3、案例3:pattern分组正则搜索(多个分组)4、案例4:init参数,从指定位置开始匹配5、案例5:plain参数为true,pattern作为普通字符串匹配五、s
转载
2024-03-05 11:12:30
580阅读
先上个例子:s = "hello_world_yyy = val_wwww + max_zzz / 2"
for v0,v1,v2,v3 in string.gmatch(s, '%s*(%w+_[%w_]+)%s*=%s*(%w+_[%w_]+)%s+[+]+%s+(%w+_[%w_]+)%s+[/]*%s+([%w]+)%s*') do
print(v0,v1,v2,v3)
end 与其他
转载
2024-05-23 12:42:49
24阅读
算术运算符二元运算符:+-*/^(加减乘除幂) 一元运算:-(负值)关系运算符< > <= >= == ~=如果两个值类型不同返回结果都是false。nil只能和自己相等。Lua通过引用比较tables,userdata,functions。也就是当且仅当两个表示同一个对象时候相等。类似OC的比较。"0" == 0 -- false
2 < 15
转载
2024-03-27 05:44:02
79阅读
最近学习了一下lua的正则表达式,在此记录一下。
为应对复杂多变的字符串匹配需求,很多语言都有对正则表达式的支持。Lua因为要保持简洁与小巧的设计目标,并没有像perl和python一样支持全部posix标准正则表达式规则。比如没有{n}匹配n次的规则,字符{和}都只是作为普通字符存在,字符|在posix标准正则表达式中表示或关系,在lua的pattern中也只是作为普通字符。在lua中,一个正则
转载
2024-03-10 23:50:39
136阅读
在OpenResty中,同时存在两套正则表达式规范: Lua 语言的规范和Nginx的规范,即使您对 Lua 语言中的规范非常熟悉,我们仍不建议使用 Lua 中的正则表达式。一是因为 Lua 中正则表达式的性能并不如 Nginx 中的正则表达式优秀;二是 Lua 中的正则表达式并不符合 POSIX 规范,而 Nginx 中实现的是标准的 POSIX 规范,后者明显更具备通用性。Lua 中的正则表达
转载
2024-02-22 01:04:33
321阅读
Lua中我们可能会遇到各种查找替换的相关操作,今天把看到的记录了一下;find:字符串查找gfind:全局字符串查找gsub:全局字符串替换gmatch:返回找到的字符串的迭代器string.gsub(str,pattern,repl,n)根据给定的配对表达式对源字符串str进行配对, 同时返回源字符串的一个副本, 该副本中成功配对的所有子字符串都将被替换. 函数还将返回成功配对的次数. str:
转载
2024-05-27 23:01:41
10阅读
Lua Lpeg
用基本匹配函数,组合匹配表达式
所有匹配函数返回userdata类型,是一个匹配模式(以下用pattern代替),可相互组合
lpeg.P
lpeg.P(value)
将给定的value,根据规则返回适当的pattern,规则如下:
value是pattern,原封不动的返回这个pattern
value是string, 返回整个该字符串的pattern
value是非负整数,只
转载
2024-05-24 08:58:35
24阅读
1.printprint("hello wold")2.注释--单行注释 --[[ --]]多行注释3.标志符Lua 标示符用于定义一个变量,函数获取其他用户定义的项。标示符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上0个或多个字母,下划线,数字(0到9)。最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的。比如_VERSIONLua 不允许使用特殊字符如
转载
2024-06-25 12:50:31
41阅读
日常工作中常用Excel操作汇总一、数据查询 1、VLOOKUP(行匹配函数HLOOKUP)——适合列函数的匹配使用场景:从一个表中查找另一个表的数据,对多个表格使用要点:可能因为格式问题查找时遇到问题 2、数据透视图,数据透视表——适合进行分类查找(分人、分地区、年份、月份等)使用场景:根据一个
Lua 的模式匹配不使用Posix规范的正则表达式(也写做regexp)来进行模式匹配。主要的原因出于程序大小方面的考虑:实现一个典型的符合POSIX标准的regexp大概需要4000行代码,这比整个Lua标准库加在一起都大。权衡之下,Lua中的模式匹配的实现只用了500行代码,当然这意味着不可能实现POSIX所规范的所有更能。然而,Lua中的模式匹配功能是很强大的,并且包含了一些使用标准POSI
模式匹配函数在string库中功能最强大的函数是:string.find(字符串查找)string.gsub(全局字符串替换)string.gfind(全局字符串查找)string.gmatch(返回查找到字符串的迭代器)这些函数都是基于模式匹配的。与其他脚本语言不同的是,Lua并不使用POSIX规
转载
2018-01-16 11:38:00
899阅读
2评论
匹配下列格式的数据中的 source和MAC地址:Chain WiFiDog_br-lan_Outgoing (1 references) pkts bytes target prot opt in out source desti...
转载
2014-07-03 09:19:00
474阅读
Lua并不使用POSIX规范的正则表达式[4](也写作regexp)来进行模式匹配。主要的原因出于程序大小方面的考虑:实现一个典型的符合POSIX标准的regexp大概需要4000行代码,这比整个Lua标准库加在一起都大。 Lua并不使用POSIX规范的正则表达式[4](也写作regexp)来进行模
原创
2022-09-26 08:10:05
285阅读
一、什么是可变参数我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为: int printf( const char* format, ...);
它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三个点“…”做参数占位符),实际调用时可以有以下的形式: printf("%d",i);
printf("%s",s);
字符串标准库提供了基于模式的4个函数。string.find 指定目标字符串中搜索指定的模式,找到模式后返回模式开始位置索引和结束位置的索引,没有匹配则返回nil;后两个参数可选,第三个为开始索引的位置,第四个为是否进行简单搜索。string.match 返回目标字符串中与模式相匹配的子串。string.gsub 将目标字符串中的所有出现的模式替换成字符串,可以通过第四个参数限制替换次数;返回替换
转载
2024-03-29 20:06:37
703阅读
前言从别的地方粘的,记性不好,记下来,嘿嘿嘿一、Lua匹配模式Lua模式匹配 模式匹配函数在string库中功能最强大的函数是:string.find(字符串查找) string.gsub(全局字符串替换) string.gfind(全局字符串查找) string.gmatch(返回查找到字符串的迭代器)这些函数都是基于模式匹配的。与其他脚本语言不同的是,Lua并不使用POSIX规范的正则表达式[
转载
2024-03-22 22:07:10
126阅读
url=encodeURI(url);注意是整个URL 重点内容1.编码后在全世界范围内才可以使用
2.某些操作系统是没有不支持中文字符的
3.比如在参数中带有空格的话,传递参数时就会发生错误,
而用URL编码过以后,空格变成了%20这样就不会发生错误了;
4.另外中文字经编码后全是怪符号,有利于保密。escape()返回一个字符的Unicode编码值。不会被此方法编码的字符: @ * / +
转载
2024-03-21 09:43:17
201阅读