Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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,我想将两个单独的变量设置为字符串中的两个不同的数字 我使用了一个像“100125”这样的字符串,我能够得到这两个数字,但一旦我将字符串更改为包含小数(如“100.172125.181”),它将返回小数后的数字 local x,y=string.match(“100125”、“(%d+)、(%d+)”) --此代码有效,使x=100,y=125 然而 local x,y=string.match(“100.134125.122”,“(%d+,(%d+)”) --这不正确 使用后一种方法,我将变

我想将两个单独的变量设置为字符串中的两个不同的数字

我使用了一个像“100125”这样的字符串,我能够得到这两个数字,但一旦我将字符串更改为包含小数(如“100.172125.181”),它将返回小数后的数字

local x,y=string.match(“100125”、“(%d+)、(%d+)”)
--此代码有效,使x=100,y=125
然而

local x,y=string.match(“100.134125.122”,“(%d+,(%d+)”)
--这不正确

使用后一种方法,我将变量x和y设置为小数后的数字。我想我应该将字符串重新格式化为类似“100.1x125.5”的格式,但我不确定。感谢并抱歉初学者提出的问题

%d
只匹配0到9之间的数字。您也希望匹配小数点,因此应使用集合
[%d.]
匹配任何数字或句点

因此,将模式更改为以下内容:

local x, y = string.match("100.134,125.122", "([%d.]+),([%d.]+)")
print(x)
print(y)
这将正确打印:

100.134
125.122

您可能需要安装:

> split = require("split")
> s = "100.134,125.122"
> x,y = table.unpack(split.split(s, ","))
> x
100.134
> y
125.122