可以将函数中的delimiter参数改为"\n",如下所示:

function string:split()
    local result = {}
    local pattern = "(.-)" .. "\n" .. "()"
    local start = 1
    local split_start, split_end = string.find(self, pattern, start)
    while split_start do
        table.insert(result, string.sub(self, start, split_start-1))
        start = split_end
        split_start, split_end = string.find(self, pattern, start)
    end
    table.insert(result, string.sub(self, start))
    return result
end

然后在使用时,可以直接调用split()函数,不需要传递参数。如下所示:

local str = "hello\nworld\nlua"
local result = str:split()
for _, v in ipairs(result) do
    print(v)
end

输出结果为:

hello
world
lua
``
luafunction stringsplitdelimiter local result = local pattern = - delimiter local start = 1 local split_start split_end = stringfindself pattern start while split_start do ta

原文地址: http://www.cveoy.top/t/topic/dswu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录