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。
挑战
简单创建一个秘密消息检测器,在较长的文本消息中搜索隐藏的密码。声明一个名为 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)这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
8字符串操作基础
string.len():获取字符串长度string.upper 和 string.lower:转换大小写string.sub():截取字符串string.rep():重复字符串string.find():查找字符串回顾:格式化用户名自己练习: Lua 在线编译器