lua string模式匹配详解

string的模式匹配详解

–>表示输出结果

1.string.find

--查找字符串所在的索引
--2个必选参数
--参数1:原字符串	参数2:模式串
--返回值1:匹配的起始索引,返回值2:匹配的终止索引
string.find("woshixiaoming", "shi") -->3, 5

--string.find有另外两个参数是可选的
--参数3:从哪个索引开始
string.find("woshi", "wo", 3) --> nil

--不常用 参数4:布尔值,是否简单搜索,true:忽略其他影响,单纯查找字符串。不填默认是false
string.find("[wo]", "[", 1) -->会报错,因为 "[" 有特殊含义
string.find("[wo]", "[", 1, true)	--> 1

2.string.match

--跟string.find类似,但是返回的是匹配到的字符串
--这个方法主要用于搜索变量,模式串无法确定的时候
--2个必选参数
string.match("I am xiaoming", "am") --> am

--1个必选参数,表示从哪里开始,默认是从1开始
string.match("I am xiaoming", "am", 3) --> am

--string.match还有另一种用法,可以使用占位符,例如%d表示数字
string.match("today is 2022/10/2", "%d/%d")	-->2/1  (2022的最后一个2 跟10的第一个1)

4.string.gsub

--用于将模式串替换成新的字符串
--3个必选参数
--参数1:原字符串	参数2:模式串	参数3:替换的字符串
--返回替换后的字符串
string.gsub("I am xiaoming", "am", "am not") --> I am not xiaoming

--有一个可选参数
--参数4:替换次数,不填默认是全部匹配
string.gsub("I ammm xiaoming", "m", "-", 2) --> I a--m xiaoming

5.string.sub

--和gsub并没有什么关系
--用作截取字符串
--有2个必选参数
--参数1:原字符串	参数2:截取的开始索引 
string.sub("I am xiaoming", 3) --> am xiaoming

--1个可选参数
--参数3:结束索引	不填则是截取开始索引后的全部字符串
string.sub("I am xiaoming", 3, 4) --> am
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值