是否有一种方法(可能是Rails中的某个库)或一种简单的方法,可以将字符串的第一个字母大写,而不影响其余部分的大小写状态?我想使用它来大写错误消息。我期望类似于这样的结果:
"hello iPad" #=> "Hello iPad"
是否有一种方法(可能是Rails中的某个库)或一种简单的方法,可以将字符串的第一个字母大写,而不影响其余部分的大小写状态?我想使用它来大写错误消息。我期望类似于这样的结果:
"hello iPad" #=> "Hello iPad"
Ruby中有一个capitalize方法,但它会将字符串的其余部分变为小写。否则,您可以编写自己的方法:
class String
def capitalize_first
(slice(0) || '').upcase + (slice(1..-1) || '')
end
def capitalize_first!
replace(capitalize_first)
end
end
编辑: 添加了 capitalize_first!
变体。
str = "hello IiPad"
str[0] = str[0].upcase #or .capitalize
str = ""
,程序会崩溃。 - Jean-Louis Giordano感谢其他回答,我意识到一些需要注意的点,并且也知道没有内置的方法。像Vitaly Zemlyansky所提示的那样,我查看了Rails中Active Support的camelize
源代码,得到了一个提示:使用正则表达式。我决定使用以下内容:
sub(/./){$&.upcase}
试试这个
"hello iPad".camelize
some_undesrcores
,它将被驼峰化为 someUnderscore
。 - Remus Rusanucamelize
的源代码给了我一些提示。 - sawa
capitalize
是来自 Ruby,而不是 Rails。 - Reactormonk