Rails是否附带了一些辅助方法来将每个单词的第一个字母转换为大写?
那样
"my house is yellow"
变为
"My House Is Yellow"
答案 0 :(得分:4)
ActiveSupport提供titleize功能:
'my house is yellow'.titleize
=> "My House Is Yellow"
答案 1 :(得分:0)
1.9.3-p547 :037 > string="my house is yellow"
=> "my house is yellow"
1.9.3-p547 :038 > string=string.split(' ')
=> ["my", "house", "is", "yellow"]
1.9.3-p547 :039 > string.each do |a|
1.9.3-p547 :040 > a.capitalize!
1.9.3-p547 :041?> end
=> ["My", "House", "Is", "Yellow"]
1.9.3-p547 :042 > string
=> ["My", "House", "Is", "Yellow"]
1.9.3-p547 :044 > string.join(' ')
=> "My House Is Yellow"
1.9.3-p547 :045 >
答案 2 :(得分:0)
在一个命令中没有明确的方法可以做到这一点。但你可以尝试以下方法。
"my house is yellow".gsub(/[A-Za-z']+/,&:capitalize)
=> "My House Is Yellow"
"my house is yellow".split.map { |i| i.capitalize }.join(' ')
=> "My House Is Yello"
答案 3 :(得分:0)
请小心:这是 NOT Unicode安全方法:
'привет, мир!'.titleize
"привет, мир!"
为了安全地使用Unicode,请查看unicode gem。
Unicode.capitalize('привет, мир!')
"Привет, мир!"
这个gem正确处理Unicode字符,但它没有titleize
方法,它只有capitalize
方法。