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 Lua-如何删除字符串中整数的引号_String_Lua - Fatal编程技术网

String Lua-如何删除字符串中整数的引号

String Lua-如何删除字符串中整数的引号,string,lua,String,Lua,所以我有这个字符串: {"scores":{"1":["John",60],"2":["Jude",60],"3":["Max",60],"4":["Kyle",60],"5":["Smith",60],"6":["Mark",50],"7":["Luke",40],"8":["Anne",30],"9":["Bruce",20],"10":["kazuo",10]}} 有很多整数都有引号,我想去掉它们。我该怎么做?我已经试过了: print(string.gsub(string, '/"(\

所以我有这个字符串:

{"scores":{"1":["John",60],"2":["Jude",60],"3":["Max",60],"4":["Kyle",60],"5":["Smith",60],"6":["Mark",50],"7":["Luke",40],"8":["Anne",30],"9":["Bruce",20],"10":["kazuo",10]}}
有很多整数都有引号,我想去掉它们。我该怎么做?我已经试过了:

print(string.gsub(string, '/"(\d)"/', "%1"));
但它不起作用(

Lua没有像Perl那样的正则表达式,相反,它有。它们相似但有一些不同

不需要分隔斜杠
/
,转义字符是
%
,但不是
\
。否则,您的试验基本上是正确的:

print(string.gsub(str, '"(%d+)"', "%1"))
其中
str
是包含输入字符串的变量。还请注意,返回的2值都是打印的,第二个结果是替换数。使用额外的一对括号仅保留第一个结果

您可以使用冒号
运算符稍微简化表示法:

print((str:gsub('"(%d+)"', "%1")))

这个JSON有点奇怪;我希望看到
{“分数”:[[“约翰”,60],“裘德”,60],“马克斯”,60],“凯尔”,60],“史密斯”,60],“马克”,50],“卢克”,40],“安妮”,30],“布鲁斯”,20],“卡佐”,10]]
相反。@Neil:我本应该使用它,所以我尝试通过以下方式验证它:首先,它是无效的,所以我没有使用它。我不知道它是否是我复制它的方式,但有一些无效字符。
{“分数”:[[“约翰”,60],“裘德”,60],“马克斯”,60],“凯尔”,60],“史密斯”,60],“马克”,50],“卢克”,40],“安妮”,30],“布鲁斯”,20],“卡佐”,10]]
验证正常。太棒了!非常感谢!我才开始使用Lua,所以我还不是很精通。谢谢,这非常有效!