在浮生梦老师前端课程内容中,判断字符串是否包含特定子串,可以使用Lua的标准字符串函数 `string.find`。
```lua
local myString = "这是一个幻影迷宫的地图"
local target = "幻影迷宫"
-- 使用 string.find 查找子串
local foundStart, foundEnd = string.find(myString, target)
if foundStart then
SL:print("字符串中包含'幻影迷宫'")
else
SL:print("字符串中不包含'幻影迷宫'")
end
```
**代码说明:**
1. `string.find(myString, target)` 会在 `myString` 中搜索 `target` 子串
2. 如果找到,返回匹配的起始位置(`foundStart`)和结束位置(`foundEnd`)
3. 如果没找到,返回 `nil`
4. 通过判断 `foundStart` 是否为 `nil` 或 `false` 来确定是否包含子串
**更简洁的写法:**
```lua
if string.find(myString, "幻影迷宫") then
SL:print("包含幻影迷宫")
end
```
**注意:** 这个查找是区分大小写的,如果要不区分大小写,需要先将字符串转为统一大小写:
```lua
local lowerString = string.lower(myString)
local lowerTarget = string.lower("幻影迷宫")
if string.find(lowerString, lowerTarget) then
SL:print("包含幻影迷宫(不区分大小写)")
end
```
如果你需要从服务端获取字符串再判断,可以这样:
```lua
local serverString = SL:GetMetaValue("SERVER_STRING", "paramKey") or ""
if string.find(serverString, "幻影迷宫") then
SL:print("服务端字符串包含幻影迷宫")
end
```