【Lua语法】字符串操作、字符串中的方法

1.对字符串的操作

lua 复制代码
--声明一个字符串
str = "我是一个字符串"

--1.获取字符串的长度
--    前面加个#即可(注意:Lua中字母占1个长度,汉字占3个长度)
print(#str)


--2.字符串多行打印
--    方法1.Lua中是支持转义字符的
print("哈哈\n嘻嘻")
--    方法2.[[]]
str2 = [[
我是第一行
我是第二行
]]
print(str)


--3.字符串拼接
--    方法1.用..拼接,而不是 +
print("哈哈" .. "嘻嘻")
--    方法2.string.format()函数
--    %d 与数字拼接
--    %a 与任何字符拼接
--    %s 与字符配对
--    等等...
print(string.format("剩余%d生命值", 99))


--4.其他类型转字符串
--    print的同时它也自动转换了,没必要再print中转换
a = true
print(tostring(a))

2.字符串中提供的公共方法

注意:这些方法不会改变原字符串,只会返回一个新字符串

lua 复制代码
--1.小写转大写、大写转小写
--    不会改变原字符串,只会返回一个新字符串
str = "aBcDEfg"
print(string.upper(str))
print(string.lower(str))


--2.反转字符串
print(string.reverse(str))


--3.查找索引
--    参数1 从哪里找?
--    参数2 找谁?
--    注意 1.Lua中索引是从1开始的
--         2.Lua中可以有多个返回值
print(string.find(str, "Bc"))


--4.截取字符串
--    参数1 截取谁?
--    参数2 从第几个开始截取
print(string.sub(str, 3)) --结果为"cDEfg"
--    重载 从哪里截取到哪里?
print(string.sub(str, 3, 5)) --结果为"cDE"


--5.字符串重复
--    重复谁?
--    重复几遍?
print(string.rep(str, 2))


--6.字符串修改
--    参数1 修改哪个变量
--    参数2 修改哪几个字符
--    参数3 改成什么?
--    返回值中有个数字,它的意思是字符串中有多少个要修改的地方
print(string.gsub(str, "Bc", "哈哈")) --结果为"a哈哈DEfg"     "1"


--7.字符和ASCII码相互转换
--    参数1 转哪个字符串?
--    参数2 把第几个字符转成ASCII码?
print(string.byte("Lua", 1)) --结果为76
--    ASCII码转字符
print(string.char(76)) --结果为"L"
相关推荐
黎雁·泠崖几秒前
C 语言指针进阶教程:const 修饰、野指针规避与传址调用
c语言·开发语言
lsx2024066 分钟前
ASP TextStream
开发语言
cike_y8 分钟前
JSP标签&JSTL标签&EL表达式
java·开发语言·jsp
秃然想通11 分钟前
Java继承详解:从零开始理解“父子关系”编程
java·开发语言
嘻嘻嘻开心12 分钟前
List集合接口
java·开发语言·list
源码获取_wx:Fegn089513 分钟前
基于springboot + vue物业管理系统
java·开发语言·vue.js·spring boot·后端·spring·课程设计
cike_y19 分钟前
JavaWeb-JDBC&事务回滚
java·开发语言·javaweb
青啊青斯21 分钟前
python markdown转word【包括字体指定】
开发语言·python·word
corpse201027 分钟前
trae下载依赖包特别慢!!!
开发语言·python
rainFFrain39 分钟前
QT显示类控件---QSlider
开发语言·qt