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 stringa HeLLo 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 stringa Hello 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 stringa Hello 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 stringa HelLo 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 stringa hello 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 stringa Hello 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 stringa Hello 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.