Clojure 的字元是 java.lang.Character基本型別,我們可以透過互操作,使用 Character 類別中的方法來操作它們:
(Character/isDigit \2)
;;=> true
Clojure 內建一套強大的字串處理函式庫:clojure.string。這通常比互操作更符合慣用寫法。
在這個練習中,你將實作一組實用的常式,協助開發者清理識別字名稱。
在 5 個任務中,你將逐步建構clean這個函式。有效的識別字由零個或多個字母與底線組成。
在所有情況下,輸入字串保證不為 nil。如果傳入這個函式的是空字串,就應該回傳空字串。
請注意,呼叫端應避免以空識別字呼叫這個函式,因為這類識別字不具任何作用。
實作clean函式,將所有空格替換為底線。這也適用於開頭與結尾的空格。
(clean "my Id")
;;=> "my___Id"
修改clean函式,將控制字元替換為大寫字串"CTRL"。若字元的編碼位於 '\u0000' 到 '\u001F' 的範圍內,或位於 '\u007F' 到 '\u009F' 的範圍內,就算是 ISO 控制字元。
(clean "my\u007FId")
;;=> "myCTRLId"
修改clean函式,將 kebab-case 轉換為 camelCase。
(clean "à-ḃç")
;;=> "àḂç"
修改clean函式,省略任何不是字母的字元。注意:必須保留前一個步驟的底線。
(clean "1😀2😀3😀")
;; => ""
修改clean函式,省略 'α' 到 'ω' 範圍內的所有希臘字母。
(clean "MyΟβιεγτFinder")
;;=> "MyΟFinder"