文字列の残りの大文字/小文字の状態に影響を与えずに、文字列の最初の文字を大文字にするメソッド (おそらく Rails の一部のライブラリ) または簡単な方法はありますか? エラーメッセージを大文字にするために使用したい。私は次のようなものを期待しています:
"hello iPad" #=> "Hello iPad"
文字列の残りの大文字/小文字の状態に影響を与えずに、文字列の最初の文字を大文字にするメソッド (おそらく Rails の一部のライブラリ) または簡単な方法はありますか? エラーメッセージを大文字にするために使用したい。私は次のようなものを期待しています:
"hello iPad" #=> "Hello iPad"
Rubyには大文字のメソッドがありますが、文字列の残りの部分を小文字にします。それ以外の場合は、独自に書くことができます:
class String
def capitalize_first
(slice(0) || '').upcase + (slice(1..-1) || '')
end
def capitalize_first!
replace(capitalize_first)
end
end
編集:capitalize_first!
バリアントを追加しました。
他の回答のおかげで、注意する必要があるいくつかの点と、組み込みの方法がないことに気付きました。camelize
Vitaly Zemlyansky が示唆した Active Support of Railsのソースを調べたところ、正規表現を使用するというヒントが得られました。私はこれを使用することにしました:
sub(/./){$&.upcase}
かなり不器用ですが、動作します:
str = "hello IiPad"
str[0] = str[0].upcase #or .capitalize
これを試して
"hello iPad".camelize