提取字符串中的信息

时间:2010-01-26 10:14:15

标签: string lua

我想解析具有任意数量参数的字符串,例如P1 + 05或P2-01,如P1 + 05P2-02。我可以从相当大的字符串中获取数据(过多地发布...)IF树和一个跟踪字符串中位置的变量。当到达一个关键字母(如P)时,它知道要读取多少字符并相应地进行,没有什么特别的。在这个例子中说我在游戏中有两个玩家,我想分别给玩家1和2提供+05和-01生命值。 (因此+ - ,我希望它们有点可读)。

它有效,但我觉得这可以做得更好。我使用Lua来解析字符串,所以也许在Lua中有一些内置函数来简化这个过程?或者可能是一些一般的提示,或更好的方法的参考?

1 个答案:

答案 0 :(得分:4)

以下是一些代码:

for w in string.gmatch("P1+05P2-02","%u[^%u]+") do
    print(w)
end

它假设每个“单词”以大写字母开头,其参数不包含大写字母。