You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lua如何遍历字符串单词并存入非列表形式的表?

在Lua中将空格分隔的单词存入非列表形式的表

核心实现方法

用Lua内置的string.gmatch生成迭代器,遍历字符串里的每个非空白单词,再将单词以键值对形式存入哈希表(而非数字索引的列表)。

示例代码

-- 待处理的单词字符串
local str = "skylift valkyrie2 airbus hunter adder bus armytanker armytrailer armytrailer2 baletrailer boattrailer"

-- 初始化非列表形式的表(哈希表)
local word_table = {}

-- 遍历每个单词并存入表
for word in string.gmatch(str, "%S+") do
    -- 将单词作为键,值设为true(可根据需求替换为其他值)
    word_table[word] = true
end

-- 可选:打印验证结果
for k, v in pairs(word_table) do
    print(k, v)
end

代码说明

  • string.gmatch(str, "%S+"):返回一个迭代器,每次迭代自动提取字符串中连续的非空白字符(即单个单词),无需手动处理空格分隔逻辑。
  • 用word_table[word] = true存入数据:最终表的结构是哈希表(键为单词,值自定义),完全区别于数字索引的列表形式,适合快速判断单词存在性、做去重等操作。如果需要把单词作为值,也可以自定义键(比如计数、哈希值等),按需调整即可。

内容的提问来源于stack exchange,提问作者HenkieThee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 19:25:15