function splitLines(str) local delim = "\r?\n" local result,pat,lastPos = {},"(.-)" .. delim .. "()",1 for part, pos in string.gmatch(str, pat) do table.insert(result, part); lastPos = pos end table.insert(result, string.sub(str, lastPos)) return result end