This commit is contained in:
TKB Studios 2024-04-30 17:40:40 -04:00 committed by GitHub
commit 52a75ef667
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 32 additions and 0 deletions

View File

@ -109,7 +109,39 @@ local function ensure_width(line, width)
return line
end
--- Splits a string in a table.
--
-- @tparam string inputstr The string to split.
-- @tparam string sep The separator to split the string at
-- @tparam number split_count How many times the string should be splitted.
-- @treturn table A table containing the splitted strings.
-- @usage args = textutils.splitString("arg1 arg2", " ")
-- @since edit this if it goes live (I hope it does)
local function split(inputstr, sep, split_count)
expect(1, inputstr, "string")
expect(2, sep, "string", "nil")
expect(3, split_count, "number", "nil")
if sep == nil then
sep = "%s"
end
if split_count == nil then
split_count = -1
end
local splitted_table = {}
local splitted_amount = 0
for str in string.gmatch(inputstr, "([^" .. sep .. "]+)") do
if splitted_amount == split_count then
break
else
table.insert(splitted_table, str)
splitted_amount = splitted_amount + 1
end
end
return splitted_table
end
return {
wrap = wrap,
ensure_width = ensure_width,
split = split,
}