在字符串中提取信息

我想解析带有任意数量参数的字符串,例如P1+05或P2-01,所有这些都组合在一起,如P1+ 05P2-02。 我可以从具有相当大(太多以至于无法发布...)IF树和变量中获取该数据,以跟踪字符串内的位置。 进入关键字母(例如P)时,它知道要读取多少个字符,并相应地继续,没有什么特别的。 在这个例子中,假设我在游戏中有两个玩家,我想为玩家1和2分别提供+05和-01的健康,因此我希望它们有些可读性。

它可以工作,但我觉得这可以做得更好。 我使用Lua来解析字符串,因此可能有一些内置函数可以在Lua中简化该过程? 或者有一些更好的方法的一般提示,或者参考资料?

原文链接 https://stackoverflow.com/questions/2138702

点赞
stackoverflow用户107090
stackoverflow用户107090

以下是一些代码:

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

该代码假设每个“单词”都以大写字母开头,并且其参数不包含大写字母。

2010-01-26 11:25:47