Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 提取字符串中的信息_String_Lua - Fatal编程技术网

String 提取字符串中的信息

String 提取字符串中的信息,string,lua,String,Lua,我想用任意数量的参数来解析字符串,比如P1+05或P2-01,它们都像P1+05P2-02一样放在一起。我可以从字符串中获取数据,字符串中有一个相当大的IF树和一个跟踪字符串中位置的变量(太多了,无法发布)。当到达一个关键字母(如P)时,它知道要读多少个字符,并相应地进行,没有什么特别的。在这个例子中,假设我在一个游戏中有两个玩家,我想分别给玩家1和2+05和-01生命值。(因此是+-,我希望它们具有一定的可读性) 这是可行的,但我觉得可以做得更好。我使用Lua来解析字符串,所以Lua中可能有一

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

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

以下是一些代码:

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

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

哇,我想添加字母,但对于那些没有大写字母的人来说,这是一个非常优雅的解决方案……肯定比我的方法简单得多,甚至更好,更干净!如果向参数中添加字母,只需添加小写字母即可。