我正在使用 Rails 5。我想知道一个变量(您可以假设它是一个字符串)是否至少包含一个字母(大写或小写)。但是,我不想使用正则表达式(我注意到如果编码不是 UTF-8,正则表达式往往会崩溃)。所以我想知道如何检查字符串是否至少有一个字母。
这不起作用
input.downcase.include?("abcdefghijklmnopqrstuvwxyz")
Try this
str.count("a-zA-Z") > 0
The count
function https://ruby-doc.org/core-2.2.0/String.html#method-i-count接受字符集作为参数。
这可能仍然会失败ArgumentError: invalid byte sequence in UTF-8
尽管。如果您的输入无效,则可能无法修复编码。
注意,这会扫描整个字符串,但也会downcase
。有关性能基准,请参阅 Eric 的答案,最坏情况和最好情况之间的性能差异很大。与往常一样,可读性优先于过早的优化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)