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

如何在Lua中将多行字体字符串转换为表格?

将换行分隔的字体字符串转为Lua数组表格

你通过fc-list命令获取到了换行分隔的字体名称字符串,想要把它转换成指定的Lua数组表格结构,只需对读取到的字符串做分割处理即可,以下是修改后的完整代码:

local font = io.popen("fc-list | cut -d ' ' -f 2- | cut -d : -f 1 | cut -d , -f 1 | sort | uniq")

if font == nil then return end

local fonts_str = font:read("*a")
local fonts = {}

-- 按换行符分割字符串,将每个字体名称存入数组
for line in string.gmatch(fonts_str, "[^\n]+") do
    table.insert(fonts, line)
end

-- 可选:打印验证数组结构
for i, name in ipairs(fonts) do
    print(string.format('fonts[%d] = "%s"', i, name))
end

font:close()

关键说明:

  • 拆分原代码中的fonts变量,用fonts_str存储原始换行分隔字符串,fonts作为目标数组
  • 利用string.gmatch(fonts_str, "[^\n]+")遍历所有非换行内容,也就是每一行的字体名称
  • 通过table.insert将每个字体名称依次加入数组,最终得到{ "字体1", "字体2", ... }的结构

执行后,fonts数组就会以你期望的形式存储所有字体名称,可直接在后续逻辑中使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 09:05:28