Uma string no Factor é uma sequência de caracteres e compartilha todo o protocolo sequences, com length, nth, head, tail, map, filter e por aí vai, além dos seus vocabulários dedicados.
"hello" length . ! => 5
"hello" reverse . ! => "olleh"
"abcdef" 3 head . ! => "abc"
As palavras específicas de strings ficam principalmente em splitting, ascii e unicode:
| palavra | vocabulário | o que faz |
|---|---|---|
split1 |
splitting |
corta na primeira ocorrência |
split |
splitting |
corta em qualquer caractere de um conjunto |
harvest |
sequences |
descarta as partes vazias de um resultado de divisão |
replace |
splitting |
substitui uma substring |
surround |
sequences |
envolve com um prefixo e um sufixo |
glue |
sequences |
junta duas strings com um separador |
join |
sequences |
junta um array de strings com um separador |
>lower |
ascii |
converte para minúsculas (ASCII) |
>upper |
ascii |
converte para maiúsculas (ASCII) |
[ blank? ] trim |
sequences |
remove os espaços em branco do início e do fim |
first, second, third, fourth
|
sequences |
a posição inicial |
first2, first3
|
sequences |
separa duas ou três posições iniciais |
>string |
strings |
transforma uma sequência de caracteres em uma string |
1string |
strings |
envolve um único caractere em uma string de um caractere |
CHAR: x |
parser | um literal de um único caractere (por exemplo, CHAR: A → 65) |
Para converter entre números e strings nos dois sentidos, math.parser oferece number>string e string>number. Para saída com string de formato, formatting oferece sprintf e afins.
Para conversão de maiúsculas e minúsculas ou classificação de caracteres que leva o Unicode em conta, use as palavras correspondentes em unicode.