No Programming, No Life

新しいNPNLです。http://d.hatena.ne.jp/fumokmm/ から引っ越してきました。

Re:Groovy で文字列を Camel 形式、Pascal 形式に変換する

Groovy で文字列を Camel 形式、Pascal 形式に変換する - 集中力なら売り切れたよ
にてid:r_ikedaさんが書かれていたスクリプトを私も書いてみました。

ソース

動作確認:Groovy Version: 1.6.0 JVM: 1.6.0_12

replacer = { _0, _1 -> _1.toUpperCase()[-1] } // _0はマッチ全体
def camelize(str) {
    str.toLowerCase().replaceAll(/(_.)/, replacer)
}
def pascalize(str) {
    str.toLowerCase().replaceAll(/(^.|_.)/, replacer)
}

assert camelize ('RESIDENT_EVIL_5') == 'residentEvil5'
assert pascalize('RESIDENT_EVIL_5') == 'ResidentEvil5'

考察

GroovyならString#replaceAllの第2引数にクロージャが渡せるので上記みたいな感じにスッキリ書けますね。