Anonymous

Module:Shared: Difference between revisions

From Melvor Idle
m
Add splitString param to trim whitespace
m (titleCase: Better describe function)
m (Add splitString param to trim whitespace)
(One intermediate revision by the same user not shown)
Line 155: Line 155:
end
end


--Splits a string based on a sent in separating character
--- Splits a string based on a sent in separating character
--For example calling splitString ("Lith V1 Relic", " ") would return {"Lith", "V1", "Relic"}
--- For example calling splitString ("Lith V1 Relic", " ") would return {"Lith", "V1", "Relic"}
function p.splitString(inputstr, sep)
-- @param inputstr (string) The input to separate.
-- @param sep (string/char) The separation character.
-- @param trim (boolean) TRUE to trim the leading/trailing whitespaces
function p.splitString(inputstr, sep, trim)
if sep == nil then
if sep == nil then
sep = "%s"
sep = "%s"
Line 163: Line 166:
local t = {}
local t = {}
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
if trim == true then
str = str:gsub("^%s*(.-)%s*$", "%1")
end
table.insert(t, str)
table.insert(t, str)
end
end
Line 430: Line 436:
if left == nil or right == nil then return false end
if left == nil or right == nil then return false end
-- Convert inputs to strings, just in case
left =  tostring(left)
right = tostring(right)
if ignoreCase == true then
if ignoreCase == true then
return left:upper() == right:upper()
return left:upper() == right:upper()
914

edits