En Factor, un string es una cadena de caracteres y comparte todo el protocolo sequences (length, nth, head, tail, map, filter, etc.), además de sus propios vocabularios.
"hello" length . ! => 5
"hello" reverse . ! => "olleh"
"abcdef" 3 head . ! => "abc"
Las palabras específicas de los strings están sobre todo en splitting, ascii y unicode:
| palabra | vocabulario | qué hace |
|---|---|---|
split1 |
splitting |
corta en la primera aparición |
split |
splitting |
corta por cualquier carácter de un conjunto |
harvest |
sequences |
descarta los fragmentos vacíos de una división |
replace |
splitting |
sustituye una subcadena |
surround |
sequences |
envuelve con un prefijo y un sufijo |
glue |
sequences |
une dos strings con un separador |
join |
sequences |
une un array de strings con un separador |
>lower |
ascii |
convierte a minúsculas (ASCII) |
>upper |
ascii |
convierte a mayúsculas (ASCII) |
[ blank? ] trim |
sequences |
elimina los espacios en blanco del principio y del final |
first, second, third, fourth
|
sequences |
la posición inicial |
first2, first3
|
sequences |
desempaqueta dos o tres posiciones iniciales |
>string |
strings |
convierte una secuencia de caracteres en un string |
1string |
strings |
envuelve un solo carácter en un string de un carácter |
CHAR: x |
parser | un literal de un solo carácter (p. ej., CHAR: A → 65) |
Para convertir en ambos sentidos entre números y strings, math.parser ofrece number>string y string>number. Para generar strings con formato, formatting ofrece sprintf y compañía.
Para la conversión de mayúsculas y minúsculas o la clasificación de caracteres que tienen en cuenta Unicode, usa las palabras correspondientes de unicode.