In Factor, una stringa è una sequenza di caratteri e condivide l'intero
protocollo sequences (length, nth, head,
tail, map, filter e così via) insieme ai suoi vocabolari dedicati.
"hello" length . ! => 5
"hello" reverse . ! => "olleh"
"abcdef" 3 head . ! => "abc"
I vocaboli specifici per le stringhe si trovano soprattutto nei vocaboli
splitting, ascii e unicode:
| parola | vocabolario | cosa fa |
|---|---|---|
split1 |
splitting |
taglia alla prima occorrenza |
split |
splitting |
taglia su qualsiasi carattere di un insieme |
harvest |
sequences |
elimina i pezzi vuoti dal risultato di uno split |
replace |
splitting |
sostituisce una sottostringa |
surround |
sequences |
avvolge con un prefisso e un suffisso |
glue |
sequences |
unisce due stringhe con un separatore |
join |
sequences |
unisce un array di stringhe con un separatore |
>lower |
ascii |
minuscolo (ASCII) |
>upper |
ascii |
maiuscolo (ASCII) |
[ blank? ] trim |
sequences |
rimuove gli spazi bianchi iniziali e finali |
first, second, third, fourth
|
sequences |
il primo slot |
first2, first3
|
sequences |
estrae due o tre slot iniziali |
>string |
strings |
trasforma una sequenza di caratteri in una stringa |
1string |
strings |
avvolge un singolo carattere in una stringa di un solo carattere |
CHAR: x |
parser | un letterale di un solo carattere (ad esempio CHAR: A → 65) |
Per convertire i numeri in stringhe e viceversa, math.parser
fornisce number>string e string>number. Per l'output con stringhe
di formato, formatting fornisce sprintf e simili.
Per la conversione di maiuscole e minuscole o la classificazione dei
caratteri con supporto Unicode, usa i vocaboli corrispondenti in
unicode.