【发布时间】:2014-10-28 15:49:35
【问题描述】:
所以我想拆分两个字符串,并能够返回一个表,其中一个字符串等于键,另一个字符串等于值。
如果:
String1 = "Key1,Key2,Key3,Key4,Key Ect..."
String2 = "Value1,Value2,Value3,Value4,Value Ect..."
输出将是如下表:
Key1 - Value1
Key2 - Value2
Key3 - Value3
Key4 - Value4
Key Ect... - Value Ect...
我一直在看我在 Lua wiki 上找到的这个拆分函数
split(String2, ",")
function split(String, pat)
local t = {} -- NOTE: use {n = 0} in Lua-5.0
local fpat = "(.-)" .. pat
local last_end = 1
local s, e, cap = str:find(fpat, 1)
while s do
if s ~= 1 or cap ~= "" then
table.insert(t,cap)
end
last_end = e+1
s, e, cap = str:find(fpat, last_end)
end
if last_end <= #str then
cap = str:sub(last_end)
table.insert(t, cap)
end
return t
end
当然这只会返回:
1 - Value1
2 - Value2
等等……
我将开始尝试修改这段代码,但我不知道我能走多远。
【问题讨论】:
-
不要修改它。拆分它们,然后从 1 循环到
#splitkeytable,并使用来自splitkeytable的键和来自splitvaluetable的值创建一个新表。
标签: string lua split lua-table