如何使用Lua解析属性文件

我需要帮助编写一个小的 Lua 脚本,该脚本需要解析属性文件并使用字符串键生成数组。这是我尝试做的事情:

file = assert(io.open("/root/test.prop", "r"))
property = {}
for line in file:lines() do
  for key, value in string.gmatch(line, "(.-)=(%w+)") do
    property[key] = value
  end
end

由于某种未知的原因,只有第一对键值被添加到表中。由于我是 Lua 的新手,所以有人可以给一个提示吗?

点赞
用户2633831
用户2633831

很可能你的 gmatch 在第二行出现了故障,因此键值为 nilfor 循环将会中止。

正如其他人提到的,使用更包容性的匹配表达式,例如 "(.-)=(.-)$"

2013-10-03 11:51:13