Ruby怎么大写每个单词的首字母?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (49)

我要把每个单词的第一个字母大写,其余的用小写...

manufacturer.MFA_BRAND.first.upcase

只设置第一个字母大写,但我需要这样:

ALFA ROMEO => Alfa Romeo
AUDI => Audi
BMW => Bmw
ONETWO THREE FOUR => Onetwo Three Four
提问于
用户回答回答于

试试这个:

puts 'one TWO three foUR'.split.map(&:capitalize).join(' ')

#=> One Two Three Four

puts 'one TWO three foUR'.split.map(&:capitalize)*' '
用户回答回答于

在Rails中:

"kirk douglas".titleize => "Kirk Douglas"
#this also works for 'kirk_douglas'

"kirk douglas".split(/ |\_/).map(&:capitalize).join(" ")

#OBJECT IT OUT
def titleize(str)
  str.split(/ |\_/).map(&:capitalize).join(" ")
end
require 'active_support/core_ext'
"kirk douglas".titleize #=> "Kirk Douglas"

扫码关注云+社区