ruby - 如何创建一个方法来检查字符串是否以大写字母开头?

标签 ruby

到目前为止,我有:

def capitalized?(str)
  str[0] == str[0].upcase
end

问题在于它返回 true对于像 "12345" 这样的字符串, "£$%^&""9ball"等。如果第一个字符是大写字母,我希望它只返回 true。

最佳答案

您可以使用 match?如果第一个字符是 A 范围内的字母,则返回 true至 Z是否大写:

def capitalized?(str)
  str.match?(/\A[A-Z]/)
end

p capitalized?("12345") # false
p capitalized?("fooo")  # false
p capitalized?("Fooo")  # true

您也可以将正则表达式传递给 start_with? :
p 'Foo'.start_with?(/[A-Z]/) # true
p 'foo'.start_with?(/[A-Z]/) # false

关于ruby - 如何创建一个方法来检查字符串是否以大写字母开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58745936/

相关文章:

ruby-on-rails - Ruby 2.0 如何在包含模块后从模块中取消包含模块?

ruby - 在 Ruby 中,self.user_name 与@user_name 不一样吗?

ruby-on-rails - Ruby on Rails,如何使 Controller 在不重定向的情况下呈现不同的页面?

ruby - 如何覆盖或编辑 ruby​​ CLI 脚本中最后打印的行?

Ruby-on-Rails:根据先前的选择填充选择框

ruby-on-rails - Rails before_save 方法无法执行 'else' block

ruby - 如何覆盖 `File::SEPARATOR`

java - Groovy 异常后重试

ruby-on-rails - rails + ruby 1.9 "invalid byte squence in US-ASCII"

ruby-on-rails - rails 3 : Update counter_cache only if published