Menu
CoddyTech

string.find():查找字符串

本课属于 Coddy Lua 学习旅程的“基础知识”单元。第 48 课,共 90 课。

string.find() 函数是一个强大的工具,可以在字符串中搜索内容。它可以在较长的字符串中查找较短的字符串(称为模式),并准确告诉你找到了它的位置。

基本语法如下:

string.find(text, pattern)

当 string.find() 成功找到模式时,它会返回两个数字:匹配项的起始位置和结束位置。如果找不到模式,它会返回 nil。

来看一个简单的例子:

local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos)  -- 输出:5 12

在这个例子中,单词 "treasure" 在句子中的起始位置是 5,结束位置是 12。

challenge icon

挑战

简单

创建一个秘密消息检测器,在较长的文本消息中搜索隐藏的密码。声明一个名为 message 的变量,并将值 "The ancient treasure lies beneath the old oak tree" 赋给它。使用 string.find() 函数在消息中搜索单词 "treasure",并将起始位置和结束位置分别存储在名为 startPos 和 endPos 的变量中。将两个位置值分别打印在单独的行上。

亲手试试

-- 声明 message 变量
local message = "The ancient treasure lies beneath the old oak tree"

-- TODO:在这里编写代码,找到单词 "treasure" 并保存其位置

-- 打印位置
print(startPos)
print(endPos)
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Lua 在线编译器