BLOGTIMES
2009/08/29

キャメルケースとアンダースコアを変換する

  ruby  regex 
このエントリーをはてなブックマークに追加

Rubyでキャメルケースとアンダースコアを変換するためのルーチンが必要になったので、正規表現を使って書いてみた。Rails(というか、Active Support)にはString#camelize()があるので、これを使えばいいのかもしれませんが、それだけのためにActive Support入れるのもアレだったので。

def to_underscore(str) str.split(/(?![a-z])(?=[A-Z])/).map{|s| s.downcase}.join('_') end def to_camelcase(str) str.split('_').map{|s| s.capitalize}.join('') end to_underscore('TestAaaBbb') #=> "test_aaa_bbb" to_camelcase('test_aaa_bbb') #=> "TestAaaBbb"

とりあえず、これで基本的な動作はするみたいです。もしかしたら、あまり効率が良くないかもしれないけど、まぁそんなに多用するわけでもないのでこれでよしとしましょう。


    こんな記事もあります 「camelize アンダースコア キャメルケース
    ブラウザから各種エンコード・デコードを試す
    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3178
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン