与空格之间的减号匹配的模式

时间:2015-07-18 16:33:43

标签: lua lua-patterns

我有一个变量it[2].input,我可以从用户输入获得。例如:

  

!字数   字字---字

  

!字   wordword字

目前我创建了一个表格并用每个单词/数字填充它(没有像 - 这样的数字)

--TEST START
if it[1].input == 'test' then
    --do something
end
--TEST END

首先,我不能把它们之间的减号带到我的桌子上。 此外,我无法检查var arr=[ 'foo','1437234647','bar','1437234633' ]; var obj={}; for(i=0;i<arr.length-1;i+=2){ obj[arr[i]]=arr[i+1]; } document.querySelector("pre").textContent = JSON.stringify(obj);是否为空。这是我查看表格的一个例子:

<pre></pre>

我已经尝试了this而没有任何工作结果。

1 个答案:

答案 0 :(得分:1)

-- %s = space character
-- %- = escaped magic character
message = "!word number word-word---word"
-- might not be the most ideal method to fil an array up...
it = {(function() local t = {}; for _input in string.gmatch(message,"[^%s%-]+") do t[#t+1] = {input = _input} end return unpack(t) end)()}
print(t[2].input) --> number
--
--
it = {}
for _input in string.gmatch(message,"[^%s%-]+") do
    it[#it+1] = {input = _input}
end
-- now checking value should work fine
if (it[2] and it[2].input == "number") then -- checking that it[2] is set as something and then comparing input
   print("t[2].input = \"number\"");
end