2

文字列の残りの大文字/小文字の状態に影響を与えずに、文字列の最初の文字を大文字にするメソッド (おそらく Rails の一部のライブラリ) または簡単な方法はありますか? エラーメッセージを大文字にするために使用したい。私は次のようなものを期待しています:

"hello iPad" #=> "Hello iPad"
4

4 に答える 4

3

Rubyには大文字のメソッドがありますが、文字列の残りの部分を小文字にします。それ以外の場合は、独自に書くことができます:

class String
  def capitalize_first
    (slice(0) || '').upcase + (slice(1..-1) || '')
  end

  def capitalize_first!
    replace(capitalize_first)
  end
end

編集:capitalize_first!バリアントを追加しました。

于 2012-12-20T09:12:56.990 に答える
2

他の回答のおかげで、注意する必要があるいくつかの点と、組み込みの方法がないことに気付きました。camelizeVitaly Zemlyansky が示唆した Active Support of Railsのソースを調べたところ、正規表現を使用するというヒントが得られました。私はこれを使用することにしました:

sub(/./){$&.upcase}
于 2012-12-20T09:39:03.400 に答える
2

かなり不器用ですが、動作します:

str = "hello IiPad"
str[0] = str[0].upcase #or .capitalize
于 2012-12-20T09:20:41.990 に答える
-3

これを試して

"hello iPad".camelize
于 2012-12-20T09:10:09.810 に答える