Módulo:String
Ir a la navegación
Ir a la búsqueda
Este módulo proporciona acceso a funciones básicas sobre cadenas (strings).
La mayoría de estas funciones se pueden invocar con parámetros con nombre, sin nombre o una mezcla. Si se usan parámetros con nombre hay que tener en cuenta que el Mediawiki elimina los espacios en blanco iniciales y finales del valor del parámetro. Según el uso previsto puede ser conveniente tanto conservarlos como eliminarlos.
Algunas funciones admiten parámetros con patrones Lua que son una especie de expresiones regulares. Véase en el Manual de patrones Ustring.
local Str = {}
function Str.left(frame)
local idx = tonumber(frame.args[2])
if (not idx) or idx < 1 then
return ""
end
return mw.ustring.sub(frame.args[1],1,idx)
end
function Str.right(frame)
local laenge = tonumber(frame.args[2])
if (not laenge) or laenge < 1 then
return ""
else
laenge = - laenge
end
return mw.ustring.sub(frame.args[1],laenge,-1)
end
function Str.subrev(frame)
local zlang = mw.ustring.len(frame.args[1])
if (not zlang) then
return ""
end
local von = tonumber(frame.args[2])
if (not von) or von < 1 then
von = 1
end
if von > zlang then
return ""
else
von = zlang - von + 1
end
local laenge = tonumber(frame.args[3])
if (not laenge) or laenge < 1 then
laenge = 1
end
local bis = von + laenge - 1
if (bis > zlang) then
return ""
end
return mw.ustring.sub(frame.args[1],von,bis)
end
function Str.crop(frame)
local s = frame.args[1]
local cut = tonumber(frame.args[2])
local laenge = mw.ustring.len(s)
if (not cut) or (cut < 1) then
return s
end
return mw.ustring.sub(s,1,laenge - cut)
end
function Str.cropleft(frame)
local s = frame.args[1]
local cut = tonumber(frame.args[2])
local laenge = mw.ustring.len(s)
if (not cut) or (cut < 1) then
return s
end
return mw.ustring.sub(s,cut+1,-1)
end
return Str