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 如何在Lua中将字符串拆分为两个数组?_String_Lua - Fatal编程技术网

String 如何在Lua中将字符串拆分为两个数组?

String 如何在Lua中将字符串拆分为两个数组?,string,lua,String,Lua,我正在使用Lua,我有一个文件,我想把每一行分成两个不同的数组。我的文件的每一行包含两个用空格分隔的字符串。 例如,如果我的文件包含 something something_else 我应该 tab_1[1] = something tab_2[1] = something_else 我试着用split-like file =io.open("myfile.txt", "r") for line in file:lines() do line = file:read() for value

我正在使用Lua,我有一个文件,我想把每一行分成两个不同的数组。我的文件的每一行包含两个用空格分隔的字符串。 例如,如果我的文件包含

 something something_else
我应该

tab_1[1] = something
tab_2[1] = something_else
我试着用split-like

file =io.open("myfile.txt", "r")
for line in file:lines() do
line = file:read()
for value in split(line," ")
table.insert(tab_1,value[i])
table.insert(tab_2,value[i])
i=i+1
end

这似乎是错误的,因为我知道split可能不返回数组,但我知道它返回不同的字符串。如何管理它们。

选项卡1[1]
选项卡2[2]
?这似乎有点奇怪。另外,从你的代码来看,它似乎更像是你想要的
tab_1[1]
tab_2[1]
。是的,我错了,它是tab_1[1]和tab_2[1]实际上没有像预期的那样工作。实际上,我不知道我是否足够清楚,但我的文件包含URL和ip地址,它们之间用空格隔开,这不仅仅是简单的单词。第二个变量v2没有获取任何值请显示文本文件中的字符串示例,其中
v2
对我的代码没有获取任何值。我无法按原样放置http url,因为它将是我的链接。用另一行代码测试它,并给出问题所在的链接。你的代码很好@Egor我的代码出了问题,我修复了它,谢谢你的时间和帮助
for line in io.lines'myfile.txt' do
  local v1, v2 = line:match'(.-)%s+(.*)'
  table.insert(tab_1,v1)
  table.insert(tab_2,v2)
end
for line in io.lines('myfile.txt') do
  local v1, v2 = string.match(line, "^(%S+)%s+(%S+)$")
  if v1 and v2 then
    table.insert(tab_1,v1)
    table.insert(tab_2,v2)
  else
    -- wrong line
  end
end