Lua 中的 string.find() 函数
string.find()是字符串库中最强大的库函数之一。
Lua不使用POSIX正则表达式进行模式匹配,因为它的实现需要4,000行代码,这实际上比所有Lua标准库加起来还要大。代替POSIX模式匹配,Lua的模式匹配实现不到500行。
该函数用于在给定字符串中查找特定模式,它通常需要两个参数,第一个参数是我们要搜索的模式的字符串,第二个参数是我们要搜索的模式。string.find()
还有第三个参数,第三个参数是一个索引,它告诉主题字符串中从哪里开始搜索。当我们想要处理出现给定模式的所有索引时,此参数很有用。它主要用于在同一个字符串中多次出现相同模式的情况。
语法
indexstart, indexend = string.find(s,”pattern”) or indexstart, indexend = string.find(s,”pattern”,indexstart + z)
在上面的语法中,我提到了我们可以使用的两种函数类型。string.find()
示例
让我们考虑一个非常简单的函数示例,我们将尝试在给定的字符串中找到一个简单的模式。string.find()
考虑下面显示的例子-
s = "hello world" i, j = string.find(s, "hello") print(i, j)
请注意,在上面的代码中,i标识符是我们搜索的模式所在的起始索引,j标识符是该模式的结束索引。
输出结果
1 5
在某些情况下,我们可能只想使用这些索引之一,在这些情况下,我们可以简单地编写如下代码。
示例
考虑下面显示的例子-
_, y = string.find(s,"world") print(y) x, _ = string.find(s,"world") print(x)输出结果
11 7
让我们再看一个例子,我们将在其中使用第三个参数。
示例
考虑下面显示的例子-
s = "hello n hello y hello z" index = string.find(s,"hello",i+1) print(index)输出结果
9
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练