如何在clojure中检查字符串是否为UpperCase?

时间:2016-09-23 07:12:31

标签: string clojure uppercase

我想检查字符串是否为大写。有一个函数来检查一个字符,但没有函数检查它是否为字符串。

3 个答案:

答案 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 %))