De Muysc cubun - Lengua Muisca

La documentación para este módulo puede ser creada en Módulo:String/doc

-- Module:String (versión mínima con solo 'replace')
local p = {}

local function getArg(frame, name)
	return (frame.args and frame.args[name])
		or (frame:getParent() and frame:getParent().args and frame:getParent().args[name])
		or ''
end

function p.replace(frame)
	local source  = getArg(frame, 'source')
	local pattern = getArg(frame, 'pattern')
	local replace = getArg(frame, 'replace')
	local plain   = getArg(frame, 'plain')

	-- Si plain != '' tratar el patrón como texto literal (escapar metacaracteres de Lua)
	if plain ~= '' then
		pattern = pattern:gsub('([%^%$%(%)%%%.%[%]%*%+%-%?])', '%%%1')
	end

	-- Permite usar \s como espacio en el patrón (atajo tipo PCRE)
	pattern = pattern:gsub('\\s', '%%s')

	return (mw.ustring.gsub(source, pattern, replace))
end

return p