Рядок тексту (англ. string) у Factor - це послідовність символів. Він поділяє весь протокол sequences (length, nth, head, tail, map, filter тощо) і має власні спеціалізовані словники.
"hello" length . ! => 5
"hello" reverse . ! => "olleh"
"abcdef" 3 head . ! => "abc"
Слова, призначені саме для рядків тексту, живуть переважно в splitting, ascii та unicode:
| слово | словник | що воно робить |
|---|---|---|
split1 |
splitting |
розрізати за першим входженням |
split |
splitting |
розрізати за будь-яким символом із набору |
harvest |
sequences |
відкинути порожні частини з результату розбиття |
replace |
splitting |
замінити підрядок |
surround |
sequences |
обгорнути префіксом і суфіксом |
glue |
sequences |
зʼєднати два рядки тексту роздільником |
join |
sequences |
зʼєднати масив рядків тексту роздільником |
>lower |
ascii |
перевести в нижній регістр (ASCII) |
>upper |
ascii |
перевести у верхній регістр (ASCII) |
[ blank? ] trim |
sequences |
прибрати пробільні символи на початку й у кінці |
first, second, third, fourth
|
sequences |
провідний слот |
first2, first3
|
sequences |
розпакувати два або три провідні слоти |
>string |
strings |
перетворити послідовність символів на рядок тексту |
1string |
strings |
загорнути один символ у рядок тексту з одного символу |
CHAR: x |
parser | літерал з одного символу (наприклад, CHAR: A → 65) |
Для взаємних перетворень між числами та рядками тексту math.parser
надає number>string і string>number. Для виведення за форматом
formatting надає sprintf та супутні слова.
Для зміни регістру чи класифікації символів з урахуванням Unicode варто
використовувати відповідні слова з unicode.