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裡對應的字詞。