Il package veryeasyfatt.formatter
contiene la classe SimpleFormatter
, che permette di formattare una stringa in base ad un formato/template definito dall’utente con una sintassi molto semplice e intuitiva ({var:s->substring(0, 5)}
invece di {var:.5}
) seppur più verbosa.
Sintassi
La sintassi è molto semplice: si utilizzano le parentesi graffe per indicare una variabile, e si utilizza il carattere :
per indicare che si vuole applicare una formattazione alla variabile. Dopodichè si usa s->
per indicare che si vuole applicare una funzione alla variabile, e si inserisce il nome della funzione.
Le funzioni sono separate da ->
e possono avere argomenti, che vanno indicati tra parentesi tonde ()
; inoltre possono essere concatenate fino ad ottenere il risultato voluto.
{variable_name:s->command1->command2(arguments)->command3}
Esempio
Nel caso in cui la variabile
variable_name
contenga la stringaHeLLo woRld!
il risultato saràHello, my beloved > world!
:{variable_name:s->lowercase->replace(world, my beloved world)->capitalize}
Funzioni disponibili
lowercase
Converte la stringa in minuscolo.
Esempio
Nel caso in cui la variabile
variable_name
contenga la stringaHello World!
il risultato saràhello world!
:{variable_name:s->lowercase}
uppercase
Converte la stringa in maiuscolo.
Esempio
Nel caso in cui la variabile
variable_name
contenga la stringaHello World!
il risultato saràHELLO WORLD!
:{variable_name:s->uppercase}
title
Converte la stringa in minuscolo, con la prima lettera di ogni parola in maiuscolo.
Esempio
Nel caso in cui la variabile
variable_name
contenga la stringaHelLo woRld!
il risultato saràHello World!
:{variable_name:s->title}
capitalize
Converte la stringa in minuscolo, con solo la prima lettera in maiuscolo.
Esempio
Nel caso in cui la variabile
variable_name
contenga la stringahello world!
il risultato saràHello world!
:{variable_name:s->capitalize}
substring(start[, end])
Restituisce una sottostringa della stringa, a partire da un indice (in base 0
) e con una lunghezza specificati.
Esempio
Nel caso in cui la variabile
variable_name
contenga la stringaHello World!
il risultato saràHello
:{variable_name:s->substring(0, 5)}
replace(search, replace)
Sostituisce tutte le occorrenze di una string con un’altra stringa.
Esempio
Nel caso in cui la variabile
variable_name
contenga la stringaHello World!
il risultato saràHello Italy!
:{variable_name:s->replace(World, Italy)}
Attenzione
In caso dovesse rendersi necessario sostituire caratteri speciali come
,
,(
,)
o->
è possibile racchiudere la stringa tra apici ("
o'
) (ad es.{var:s->replace("(", "-")}
).Per sostituire invece gli apici (
"
o'
) usare la backslash (\
) per indicare che il carattere successivo non è un carattere speciale, ma un carattere normale.