Lua语法小贴士(二)string库
string库
byte方法,返回byte值:
print(string.byte("abc")) --97
print(string.byte("abc", 2, 3)) --98 99
char方法,连接char成字符串:
print(string.char(100,101,102)) --def
find方法,查找子字符串的起始和结束下标:
local s = "It's 10 o'clock in the morning."
local p = "%d+ o'"
print(string.find(s,p)) --6 10
print(string.find(s,p,7)) --7 10
print(string.find(s,p,1,true)) --nil
print(string.find(s,"o'",1,true)) --9 10
第三个参数代表从第几个字符开始查找,第四个参数表示是否是明文(即不使用变量模式)
match方法,查找子字符串:
local s = "Today is 10/10/2016"
local p = "%d+/%d+/%d+"
print(string.match(s,p)) --10/10/2016
print(string.match(s,p,11)) --0/10/2016
format方法,格式化字符串:
print(string.format("%d,%f,%x,%s",10,7.25,92,"num")) -- 10,7.250000,5c,num
gmach方法,返回匹配模式的遍历:
local s = "Hello world from lua"
for w in string.gmatch(s,"%a+") doprint(w)
end
len方法,返回长度:
print("") --0
print("a\000bc\000") --5
lower方法,转换成小写字母:
print(string.lower("LUA")) --lua
upper方法,转换成大写字母:
print(string.upper("lua")) --LUA
rep方法,重复字符串:
print(string.rep("hia",3)) --hiahiahia
reverse方法,翻转字符串:
print(string.reverse("lemon")) --monel
sub方法,子串:
print(string.sub("function"),5,8) --tion
gsub方法,替换子串,返回替换后的字符串和被替换的次数:
local s = "All over the world"
lcoal p = "l"
local r = "x"
print(string.gsub(s,p,r)) --Axx over the worxd 3
print(string.gsub(s,p,r,1)) --Axl over the world 1
print(string.gsub(s,p,r,2)) --Axx over the world 2
print(string.gsub(s,p,r,3)) --Axx over the worxd 3
print(string.gsub(s,p,r,4)) --Axx over the worxd 3
dump方法,将传入的function转换成二进制的形式,这样就可以使用loadstring来获取function的副本。function必须是不包含upvalues的Lua function。
local function DumpTest()print("Test")
end
local a = string.dump(DumpTest)
print(a)
local b = loadstring(a)
print(b)
b()
参考:
Lua语法小贴士(一)字符串基础操作
Lua语法小贴士(二)string库
Lua语法小贴士(三)魔法字符
Lua语法小贴士(二)string库相关推荐
- Lua语法小贴士(十四)垃圾回收collectgarbage
Lua垃圾回收只有一个函数collectgarbage,第一个参数是字符串,代表操作类型,第二个参数只有某些操作有,是该操作所需要的参数. 操作类型: stop停止垃圾收集. restart重启垃圾收 ...
- Lua string库整理
string库提供了字符串处理的通用函数. 例如字符串查找.子串.模式匹配等. 当在 Lua 中对字符串做索引时,第一个字符从 1 开始计算(而不是 C 里的 0 ). 索引可以是负数,它指从字符串末 ...
- Lua 之string库
标准string库 基础字符串函数 string.len(s) 返回一个字符串的长度,例如 print(string.len("hello world")) -- 11 strin ...
- Spring Cloud实战小贴士:Zuul统一异常处理(二)
在前几天发布的<Spring Cloud实战小贴士:Zuul统一异常处理(一)>一文中,我们详细说明了当Zuul的过滤器中抛出异常时会发生客户端没有返回任何内容的问题以及针对这个问题的两种 ...
- 一个很好用的小程序生成二维码海报的组件库
在小程序开发完成之后,我们会时常遇到这样的一个问题,小程序该怎么推广,增加曝光量,让更多的人看到?我们都知道,小程序推广一般是给小程序增加一个分享的功能,可以分享到群里面. 但是不能发朋友圈,若是想发 ...
- lua string库
--lua中字符串索引从前往后是1,2,--,从后往前是-1,-2--. --string库中所有的function都不会直接操作字符串,只返回一个结果. ---------------------- ...
- lua string 库
转载自:http://blog.sina.com.cn/s/blog_6d9d6d160101975u.html --lua中字符串索引从前往后是1,2,--,从后往前是-1,-2--. --stri ...
- 30 个 Python3 的最佳实操,小贴士和窍门(附课程)
感谢作者分享-http://bjbsair.com/2020-04-07/tech-info/30460.html 以下为译文: 年过完了,我们都纷纷回到了各自的工作岗位.新的一年新气象,我想借本文为 ...
- 30 个 Python 的最佳实践、小贴士和技巧
作者 | Erik-Jan van Baaren 译者 | 弯月,责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 以下为译文: 元旦过完了,我们都纷纷回到了各自的工作岗位.新的一年新气象 ...
最新文章
- java接收xml数据_关于java后台如何接收xml格式的数据
- DevExpress 11.1.6 重编译详细过程
- Python zip函数 - Python零基础入门教程
- 使用paramiko在eNSP的交换机中批量创建VLAN
- 生物信息学中的机器学习:使用K-Means和PCA进行基因组序列分析 COVID-19接下来如何突变?
- ERP原理与应用期末复习
- android移动应用技术教程课后答案,完整word版,《Android移动应用基础教程》_习题答案...
- python VTK 初入门学习
- 别再说不知道元空间和永久代的区别了
- 计算机进入bios,如何进入bios(电脑进入BIOS的两种实用方法)
- 高电平和低电平之间的电平芯片会识别成什么
- 802.11a/b/g/n区别
- Oasis Sapphire黑客松来袭 | 构建隐私DApp,赢取9000美元奖励!
- 如何检查并清除挖矿程序
- html页面无法显示生僻字,生僻字打不出来怎么办
- z390能装2012服务器系统,b360/h370/z390主板可以安装win7系统(完美支持)
- Mybatis源码解析《一》
- 日语常用语3000句
- apk 反编译工具和方法
- 《迅为开发板i.MX8MM 学习记录》——【MIPI篇】Linux 应用程序显示一张图片
热门文章
- qbo_arduqob command 命令Id约定
- [Redux/Mobx] redux的数据存储和本地储存有什么区别?
- LoRaWAN介绍13 SX1301
- 浅析Windows2000服务与后门技术
- 手机有显示3g无法理解服务器,3G手机根本不需升级4G,一个技巧提高3倍网速!...
- Python数据分析面试实战
- 谈一谈Restful接口设计风格
- python与c语言的区别-c语言和python之间有什么区别
- 2022年阿里全球数学竞赛中的集福活动(附代码解答)
- docx4j生成Word添加页眉页脚水印 页眉页脚奇偶显示首页显示