1文字目を小文字にしたくて - groovy
2013/10/12
commons
groovy
metaClass
groovyです。
capitalizeはデフォルトであるんですが、その逆のuncapitalizeがないんだなーというわけで、どうしようかなと悩んでたのですが、commonsにあるのでそれを使おう。
import org.apache.commons.lang.WordUtils
String.metaClass.uncapitalize {
WordUtils.uncapitalize(delegate)
}
metaclass使って文字列処理を拡張してみます。
便利ですね!!
で、ほんとはどういことがしたかったというと
xxx_yyy_zzz
のような文字列を
xxxYyyZzz
というふうにしたかったわけです。
こんなコードを用意してみました。
conveter2 = { s ->
s.tokenize('_')*.capitalize().join().uncapitalize()
}
assert conveter2('xxx_yyy_zzz') == 'xxxYyyZzz'
うまくいってる気はする。
: