我需要使用特定模式“ - ”拆分输入文件的每一行。我离解决方案还不太远,但是我的代码实际上也分裂了单个空间。该文件的每一行的格式如下:使用特定模式的Lua拆分字符串
NAME - ID - USERNAME - GROUP NAME - GROUP ID - TIMESTAMP
名称字段可以有空格,同组名和时间,例如一排像
LUCKY STRIKE - 11223344 - @lucky - CIGARETTES SMOKERS - 44332211 - 11:42 may/5th
是有效的。 所以这些标记值应该存储在一个表内。 这里是我的代码:
local function splitstring(inputstr)
sep = "(%s-%s)"
local t={} ; i=1
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
t[i] = str
i = i + 1
end
print("=========="..t[1].."===========")
print("=========="..t[2].."===========")
print("=========="..t[3].."===========")
return t
end
当我运行它,把“幸运”的第一场,罢工第二场,第三场里面的ID。 有没有办法在第一个字段中存储“幸运打击”,只通过指定的模式解析? 希望你们能帮助我。
p.s.我已经看到了lua手册,但没有太多帮助我......
't = {inputstr:gsub('%s +% - %s +','\ 0'):match(('.-(%Z +)'):rep(6))}' –