FANDOM


-- Funzioni di libreria di gestione testo
 
local text = {}
 
-- Rimuove gli spazi vuoti all'inizio e alla fine di una stringa
 
string.trim = function(s)
    return tostring(s):match('^%s*(.-)%s*$')
end
 
text.trim = string.trim
 
-- Rende possibile la string interpolation in stile Python
-- es.: interp("${name} is ${value}", {name = "foo", value = "bar"}
-- vedi: http://lua-users.org/wiki/StringInterpolation
 
string.interp = function(s, tab)
    return (s:gsub('($%b{})', function(w) return tab[w:sub(3, -2)] or w end))
end
 
text.interp = string.interp
 
-- Rende maiuscola la prima lettera di una stringa
 
string.first_uppercase = function(s)
	s = tostring(s)
	return s:sub(1,1):upper() .. s:sub(2)
end
 
text.first_uppercase, text.fu, string.fu = string.first_uppercase,
string.first_uppercase, string.first_uppercase
 
-- Rende maiuscola la prima lettera di ogni parola
-- di una stringa
 
string.camel_case = function(s)
	return (tostring(s):gsub('(%w[%w%d]*)', string.fu))
end
 
text.camel_case, text.cc, string.cc = string.camel_case,
string.camel_case, string.camel_case
 
-- Aggiunge gli zeri a sinistra ai numeri con meno di tre cifre:
-- dato che valori numerici di questo tipo non sono supportati,
-- la funzione restituisce stringhe
 
string.three_figures = function(n)
	return string.format('%03d', n)
end
 
text.three_figures, string.tf, text.tf = string.three_figures, string.three_figures, string.three_figures
 
return text
 
----Crediti a:[http://wiki.pokemoncentral.it/Modulo:Wikilib/strings]