Module:ArrayRemove

local p = {} function p.main(frame) local args, hash = frame:getParent.args, {} local t = mw.text.split(args[1], ",") local s = mw.text.split(args[2], ",") for i, v in ipairs(t) do       t[i] = mw.text.trim(v) hash[t[i]] = true end if args[3] and not hash[args[3]] then return table.concat(t, ", ") end for i, v in ipairs(s) do       s[i] = mw.text.trim(v) end for j = #s, 1, -1 do   	for i = #t, 1, -1 do            if t[i] == s[j] then table.remove(t, i)           end end end return table.concat(t, ", ") end return p