lua学习笔记(二)--字符串

本文介绍了Lua中字符串的不可变性质,展示了如何通过gsub进行替换,以及长度操作、连接操作、转义序列、多行字符串、类型转化和字符串库函数的使用。重点讲解了len、rep、reverse、lower/upper、sub、char/byte、format、find/gsub等核心功能。
摘要由CSDN通过智能技术生成

字符串

参考《lua程序设计》
lua中字符串是不可变量,不能直接改变某个字符串里的某个字符,但是可以新建来达到修改的目的。

a="one string"
b=string.gsub(a,"one","another")--改变某些部分

可以使用长度操作符(#)来获取长度

print(#"good bye") -->8

可以用连接操作符…来进行字符串的连接。如果存在数字,则将其转化成字符串

"hello ".."world" -->hello world

字符串常量

可以通过转义系列\ddd和\xhh来声明字符,类似于ASCII码那样
也可以使用转义序列\u{h…h}来声明UTF-8字符

"\u{3b1}"

长字符串

使用一对双方括号来声明多行字符串常量,且转义符不会呗转义
若第一个字符是换行符,则被忽略
在声明大段代码字符串非常方便

强制类型转化

在数值后紧接使用 … 连接是,必须用空格将他们分开,否则第一个将视为小数点
如果需要显示转换,使用tonumber函数、tostring函数

tonumber("-3") -->-3
tonumber("10e") -->nil
--默认是10进制,也可指明其他进制
tonumber("fff",16) -->4095

特殊,在比较相等时,不会进行隐式的转换,即"2"与2是不相等的
故混用字符串和数值时,会抛出异常

字符串标准库

切记,字符串是不可变的,只能返回一个新的字符串

函数作用
string.len相当于#
string.rep(s,n)将字符串重复n次
string.reverse字符串翻转
string.lower大写转小写,同理还有string.upper
string.sub(s,i,j)从s中提取[i,j]字符,索引从开始,支持负数,-1指最后一个
string.char&string.byte类型与ASCII码一样的,数值与串的对应转换
string.format字符串格式输出
string.find字符串的模式搜索,返回起始与结束位置
string.gsub搜索并替换

可用冒号操作符

Unicode编码

有utf-8的函数库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值