当前位置: 首页 > news >正文

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

1.对字符串的操作

--声明一个字符串
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.字符串中提供的公共方法

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

--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"
http://www.lryc.cn/news/102443.html

相关文章:

  • Linux 终端生成二维码
  • 子组件未抛出事件 父组件如何通过$refs监听子组件中数据的变化
  • 【C++】STL——stack的介绍和使用、stack的push和pop函数介绍和使用、stack的其他成员函数
  • 基于BIM+AI的建筑能源优化模型【神经网络】
  • #P0998. [NOIP2007普及组] 守望者的逃离
  • vue3+ts+elementui-plus二次封装弹框
  • ffmpeg批量分割视频解决视频前几秒黑屏的问题解决
  • nodejs + express 调用本地 python程序
  • 微信小程序代码优化3个小技巧
  • 某行动态cookie反爬虫分析
  • 恒运资本:A股、港股全线爆发,沪指突破3300点,恒指重返2万点上方
  • Rust vs Go:常用语法对比(十二)
  • jmeter接口测试、压力测试简单实现
  • PysparkNote006---pycharm加载spark环境
  • 19套项目实战系列--Spring Cloud Spring Boot(整套源码)
  • TCP/IP协议详解(二)
  • Linux6.2 ansible 自动化运维工具(机器管理工具)
  • 前端面试题 —— React (二)
  • 【分享帖】LCD的MCU接口和SPI接口详解
  • 【Java】使用@Expose注解和excludeFieldsWithoutExposeAnnotatGson()方法将toJson()过程的部分字段忽略
  • 移动硬盘不显示怎么办?正确解决方式看这里!
  • MySQL 5.7.39 关于时间精度
  • 宝塔设置云服务器mysql端口转发,实现本地电脑访问云mysql
  • centos下安装ftp-读取目录列表失败-
  • 0101sub-process /usr/bin/dpkg returned an error code-dpkg-linux问题集
  • 流控平台Sentinel搭建和接入教程
  • 使用 docker 一键部署 MongoDB
  • 【深度学习】Inst-Inpaint: Instructing to Remove Objects with Diffusion Models,指令式图像修复
  • 创建维基WIKI百科和建立百度百科有何不同?
  • Python小红书旋转验证码识别