2

是否有一种方法(可能在 Rails 的某个库中)或一种简单的方法可以将字符串的第一个字母大写而不影响字符串其余部分的大写/小写状态?我想用它来大写错误消息。我期待这样的事情:

"hello iPad" #=> "Hello iPad"
4

4 回答 4

3

Ruby 中有一个 capitalize 方法,但它会将字符串的其余部分小写。否则,您可以编写自己的:

class String
  def capitalize_first
    (slice(0) || '').upcase + (slice(1..-1) || '')
  end

  def capitalize_first!
    replace(capitalize_first)
  end
end

编辑:添加capitalize_first!变体。

于 2012-12-20T09:12:56.990 回答
2

相当笨拙,但它有效:

str = "hello IiPad"
str[0] = str[0].upcase #or .capitalize
于 2012-12-20T09:20:41.990 回答
2

感谢其他答案,我意识到我需要注意的一些要点,并且没有内置的方法。正如 Vitaly Zemlyansky 所暗示的那样,我查看了camelizeActive Support of Rails 的来源,这给了我一个提示:那就是使用正则表达式。我决定使用这个:

sub(/./){$&.upcase}
于 2012-12-20T09:39:03.400 回答
-3

试试这个

"hello iPad".camelize
于 2012-12-20T09:10:09.810 回答