Uma string em Factor é uma sequência de carateres e partilha o protocolo sequences completo (length, nth, head, tail, map, filter, etc.) a par dos seus vocabulários dedicados.
"hello" length . ! => 5
"hello" reverse . ! => "olleh"
"abcdef" 3 head . ! => "abc"
As palavras específicas de strings vivem sobretudo em splitting, ascii e unicode:
| palavra | vocabulário | o que faz |
|---|---|---|
split1 |
splitting |
corta na primeira ocorrência |
split |
splitting |
corta em qualquer caráter de um conjunto |
harvest |
sequences |
descarta os pedaços vazios de um resultado de split |
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 espaços em branco no início e no fim |
first, second, third, fourth
|
sequences |
o elemento inicial |
first2, first3
|
sequences |
desempacota dois ou três elementos iniciais |
>string |
strings |
transforma uma sequência de carateres numa string |
1string |
strings |
envolve um único caráter numa string de um caráter |
CHAR: x |
parser | um literal de um único caráter (por exemplo, CHAR: A → 65) |
Para conversões de ida e volta entre números e strings, math.parser fornece number>string e string>number. Para saída com strings de formatação, formatting fornece sprintf e afins.
Para conversão de maiúsculas e minúsculas ou classificação de carateres com suporte a Unicode, usa as palavras correspondentes em unicode.