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

时间:2013-07-22 09:44:59

标签: string lua

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

 something something_else

我应该

tab_1[1] = something
tab_2[1] = something_else

我尝试使用分割

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

它似乎是错误的,因为我知道分裂可能不会返回一个数组,但我知道它返回不同的字符串。我该如何管理它们。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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