gpt4 book ai didi

elixir - 在 Elixir 中查找代码点是否为大写

转载 作者:行者123 更新时间:2023-12-02 03:16:58 25 4
gpt4 key购买 nike

我需要检测 Elixir 中的代码点是否为大写字母。我尝试检查它的值是否在 65..90 范围内,但这对于非拉丁大写字母失败。我也尝试过检查是否

String.upcase(cp) == cp

但是对于非字母(即数字、标点符号),这会失败。

我真的不想遍历整个 unicode 并创建大写代码点列表,是否有内置函数可以实现此目的?

最佳答案

您可以使用 \p{Lu} Unicode 字符属性正则表达式转义序列来匹配任何大写字母:

iex(1)> "a" =~ ~r/^\p{Lu}$/u
false
iex(2)> "A" =~ ~r/^\p{Lu}$/u
true
iex(3)> "π" =~ ~r/^\p{Lu}$/u
false
iex(4)> "Π" =~ ~r/^\p{Lu}$/u
true
iex(5)> "!" =~ ~r/^\p{Lu}$/u
false

确保传递 u 标志以在正则表达式中启用 Unicode 匹配。

您可以在 this 上找到有关受支持属性的更多信息。页。在页面上搜索标题“Unicode 字符属性”。

关于elixir - 在 Elixir 中查找代码点是否为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36966980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com