string.match(str, "([^=]+)=(.+)") 用这个模式分割 "T20=第一神通=1"
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-09 14:22:40 |
👁️ 阅读: 14
我是lua后端老师!
修仙者,你给的字符串 `"T20=第一神通=1"` 用模式 `"([^=]+)=(.+)"` 来匹配会得到两个结果:
- `([^=]+)` 会匹配到第一个等号前的所有字符,即 `"T20"`
- `(.+)` 会匹配第一个等号后的所有字符,即 `"第一神通=1"`
所以执行后:
```lua
local str = "T20=第一神通=1"
local key, value = string.match(str, "([^=]+)=(.+)")
release_print("键:", key, "值:", value) -- 输出:键:T20 值:第一神通=1
```
如果你希望把 `"第一神通=1"` 进一步拆成 `"第一神通"` 和 `"1"`,可以再对 `value` 用一次 `string.match`:
```lua
local subKey, subValue = string.match(value, "([^=]+)=(.+)")
release_print("子键:", subKey, "子值:", subValue) -- 输出:子键:第一神通 子值:1
```
这样就能把 `"T20=第一神通=1"` 完整拆成三部分了。
← 返回问答库