Rails是否帶有一些幫助程序將每個單詞的第一個字母轉換爲大寫?在Ruby On Rails中大小寫字母大小寫
這樣
"my house is yellow"
成爲
"My House Is Yellow"
Rails是否帶有一些幫助程序將每個單詞的第一個字母轉換爲大寫?在Ruby On Rails中大小寫字母大小寫
這樣
"my house is yellow"
成爲
"My House Is Yellow"
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 >
沒有做,在一個命令沒有明確的方法。但你可以嘗試以下方法。
"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"
「我的房子是黃色的」.gsub(/ [A-Za-z'] + /,&:大寫)我不明白這個 – user3678471 2014-11-23 04:03:56
哦,這是正則表達式的方式。 :) – Rubyrider 2014-11-23 04:05:45
我明白Rubyrider謝謝 – user3678471 2014-11-23 04:06:52
只是要carful:這是不統一安全的方法:
'привет, мир!'.titleize
"привет, мир!"
爲了統一安全請大家看看在unicode寶石。
Unicode.capitalize('привет, мир!')
"Привет, мир!"
這種寶石能夠正確處理Unicode字符,但它不具有titleize
方法,它只有capitalize
方法。
對不起。我發現這個方法在這裏放置'一個兩個三'foUR'.split.map(&:大寫).join('') – user3678471 2014-11-23 03:47:58
儘管可以大寫每個單詞,但不一定會導致正確的大寫句子。 – 2014-11-23 05:29:07