2011-01-27 6 views

答えて

5

"foo-bar".split("-").map(&:capitalize).join(" ")

+0

'&'構文の場合は+1 w00t –

1
"foo-bar".gsub(/\b(\w)/){|m| m.capitalize}.sub '-', ' ' 
+0

結果にハイフンが残ります。 – Phrogz

+0

固定子育てのエラー、ありがとう。ちなみに、私はBenchmarkを通して両方のバージョンを走らせました。そして、split + mapは、長い文字列であっても、gsub + regexよりも大幅に速く、驚くべきことでした。一般に、私が他の言語で行った文字列操作は、正規表現を介して最も効率的に処理されますが、Rubyでは処理されません。 (私はOniguramaで1.9を使っていました) – iain

0
>> p "foo-bar".scan(/\w+/).map(&:capitalize).join(" ") 
"Foo Bar" 
=> "Foo Bar" 
>> p "foo---bar".scan(/\w+/).map(&:capitalize).join(" ") 
"Foo Bar" 
=> "Foo Bar" 
>> p "foo 123 bar".scan(/\w+/).map(&:capitalize).join(" ") 
"Foo 123 Bar" 
=> "Foo 123 Bar" 
0
string = "foo-bar" 
"foo-bar".split("-").map(&:capitalize).join(" ") # edited to because former answer was not optimal 
関連する問題