我需要使用特定模式「 - 」拆分輸入文件的每一行。我離解決方案還不太遠,但是我的代碼實際上也分裂了單個空間。該文件的每一行的格式如下:使用特定模式的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))}' –