我想检查字符串是否为大写。有一个函数来检查一个字符,但没有函数检查它是否为字符串。
答案 0 :(得分:4)
假设您要检查String中的每个字符是否为大写,您可以像这样使用every?
:
user=> (every? #(Character/isUpperCase %) "Hello")
false
user=> (every? #(Character/isUpperCase %) "HELLO")
true
答案 1 :(得分:4)
对于这类问题,首先要查找Java答案:)
Is there an existing library method that checks if a String is all upper case or lower case in Java?
在这种情况下,我的建议是使用Apache Commons Lang's StringUtils/isAllUpperCase
(import org.apache.commons.lang3.StringUtils)
(StringUtils/isAllUpperCase "HeLLO")
如果您希望在所有平台(Clojure,ClojureScript等)上移植可移植解决方案,最好的策略可能是将大写字符串与原始字符串进行比较:
(require '[clojure.string :as str])
(defn all-uppercase? [s]
(= s (str/upper-case s)))
答案 2 :(得分:0)
Clojure(Script)的cuerdas库有一个函数upper(和locale-upper),可以用来检查大写。
https://funcool.github.io/cuerdas/latest/#upper
#(= % (cuerdas/upper %))