如何确定整个字符串在 Elixir 中是否为大写?

How to find out if whole string is upper case in Elixir?

如何在 Elixir 中判断整个字符串是否为大写?

我找到了解决方案 。但它一次只处理一个字母而不是整个字符串。

您可以使用正则表达式:

iex> str = "Hello World"
iex> str =~ ~r(^[^a-z]*$)
false

iex> str = "HELLO WORLD"
iex> str =~ ~r(^[^a-z]*$)
true

您可以将字符串转换为大写并检查它是否等于原始字符串:

iex(1)> upcase? = fn x -> x == String.upcase(x) end
#Function<6.99386804/1 in :erl_eval.expr/5>    
iex(2)> upcase?.("foo")
false
iex(3)> upcase?.("FOO")
true
iex(4)> upcase?.("π")
false
iex(5)> upcase?.("Π")
true