(require '[clojure.string :as str])
(def text "Lower And Upper")
(def lower (str/lower-case text))
;; lower is "lower and upper"
(def upper (str/upper-case text))
;; upper is "LOWER AND UPPER"
(def capitalized (str/capitalize text))
;; capitalized is "Lower and upper"
;; No built-in swapcase - one map over the characters
(def swapped
(apply str (map #(if (Character/isUpperCase %)
(Character/toLowerCase %)
(Character/toUpperCase %))
text)))
;; swapped is "lOWER aND uPPER"
(println "lower is" lower)
(println "upper is" upper)
(println "capitalized is" capitalized)
(println "swapped is" swapped)