6 ruby string ruby-on-rails include
我正在使用Rails 5.我想知道一个变量(你可以假设是一个字符串)是否包含至少一个字母(大写或小写).但是,我不想使用正则表达式(我注意到如果编码不是UTF-8,则常规表达式倾向于崩溃).所以我想知道如何检查一个字符串是否至少有一个字母.
这不起作用
input.downcase.include?("abcdefghijklmnopqrstuvwxyz")
Run Code Online (Sandbox Code Playgroud)
aku*_*uhn 10
试试这个
str.count("a-zA-Z") > 0
Run Code Online (Sandbox Code Playgroud)
该count 函数接受字符集作为参数.
ArgumentError: invalid byte sequence in UTF-8尽管如此,这可能仍会失败.如果您的输入无效,则可能无法修复编码.
NB,这会扫描整个字符串,但也是如此downcase.对于性能基准测试,请参阅Eric的答案,在最坏情况和最佳情况之间,性能差异很大.与往常一样,可读性在过早优化之前出现.