ExperimentalGear/scripts/core/string.lua

24 lines
621 B
Lua

---Looks for the last match of pattern in the string.
---@param s string
---@param pattern string
---@param init? integer
---@param plain? boolean
function string.rfind(s, pattern, init, plain)
pattern = pattern:reverse()
return s:len() - s:reverse():find(pattern, init, plain) + 1
end
---Split string into list
---@param s string
---@param delimiter? string # default " "
---@return string[]
function string.split(s, delimiter)
delimiter = delimiter or " "
local result = {}
for match in (s..delimiter):gmatch("(.-)"..delimiter) do
table.insert(result, match)
end
return result
end