2.5 Lua代码中string类型常用API

1.转大小写

Lua 复制代码
str1="zxcvbnm";

print(str1);

print(string.upper(str1));

print(string.lower(string.upper(str1)));

2.长度

Lua 复制代码
str1="zxcvbnm";

print(str1);

print(string.len(str1));

str2="等待";

print(string.len(str2));

str3="大小1";

print(string.len(str3));

3.反转

Lua 复制代码
str1="zxcvbnm";

print(str1);

print(string.reverse(str1));

4.连接

Lua 复制代码
str1="zxcvbnm";

print(str1);

print("123".."adadd"..str1..123 ..789 ..str1);

在连接时,要连接的类型是number的需要在后面加一个空格

5.截取

string.sub(s, i, j) 将字符串 s 的第 i 个字符到第 j 个字符的闭区间的字符串截取出来成为一个新的子串

Lua 复制代码
str1=" 1234567890";

print(str1);

print(string.sub(str1,1,5));

6.查找

string.find(s, pattern, init, plain) 在字符串 s 中查找子串 pattern ,如果找到则返回pattern的起始和结束位置,没有找到返回nil

Lua 复制代码
str1="asd12345674890";

print(str1);
print(string.find(str1,"456"));
print(string.find(str1,"456",1));   --从指定位置开始查找
print(string.find(str1,"4561",1));  --查找不到返回nil
print(string.find(str1,"456",-10)); --如果是负数,则从字符串长度加上这个负数的位置开始查找

print(string.find(str1,"%d",1));    --最后一个参数默认是false,开启正则匹配
print(string.find(str1,"%d",1,true));    --最后一个参数是true,直接搜索字符串

print(string.find(str1,"(%d%d%d)"));    --第三个返回值,为正则匹配上的值

运行结果:

Lua 复制代码
asd12345674890
7	9
7	9
nil
7	9
4	4
nil
4	6	123

7.替换

string.gsub(s, pattern, repl, n) 将字符串 s 中的 pattern 配上的字符串替换为 repl 字符串,n 为最大替换次数,返回替换完的字符串以及替换次数

Lua 复制代码
str1="abc,123,abc,ABC,abc,abc";

print(str1);

print(string.gsub(str1,"bc","BC"));
print(string.gsub(str1,"bc","BC",2));

运行结果:

Lua 复制代码
abc,123,abc,ABC,abc,abc
aBC,123,aBC,ABC,aBC,aBC	4
aBC,123,aBC,ABC,abc,abc	2

8.ASSCII码互转

Lua 复制代码
print(string.char(65));
print(string.char(65,66,67));

print(string.byte("A"));
print(string.byte("B"));
相关推荐
银河技术39 分钟前
从脚本到 Operator:用 Go 构建可靠的微服务自动扩缩容控制器
开发语言·微服务·golang
GIS数据转换器2 小时前
地下空间综合管廊运营管理平台
大数据·开发语言·人工智能·经验分享·perl
Wang's Blog8 小时前
Java 项目实战: 交友项目:登录链路回顾与今日任务地图
java·开发语言·状态模式·交友
砚底藏山河8 小时前
python量化:行情数据回溯
java·开发语言·python·金融·maven
今年下半年8 小时前
AI智能体项目实战记录(02):初始化 Python 项目
开发语言·人工智能·python·fastapi
Williamtym8 小时前
PickGo Lab实践:用浏览器、Python和MCP串起机器人搬运仿真
开发语言·python·机器人
DongQiShanRen9 小时前
六根硬件映射(四):归属澄清、两处不一致与卷十一总表
开发语言·人工智能·算法·rust·哈希算法·集成学习
CS创新实验室9 小时前
Python 对象“死“了之后去了哪?——引用计数与分代垃圾回收
开发语言·jvm·python
quantdash_cc9 小时前
Pandas 处理分钟级股票行情:从原始数据清洗到 K 线聚合
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
yu_zhidun9 小时前
企业电脑监控软件怎么选:别只看功能清单,先看这 6 个底层能力
开发语言·电脑·php·域智盾系统