読者です 読者をやめる 読者になる 読者になる

カタカタブログ

SIerで働くITエンジニアがカタカタした記録を残す技術ブログ。Java, Oracle Database, Linuxが中心です。たまにRuby on Railsなども。

groovyで文字列の先頭大文字/小文字変換

groovy

groovyでテキスト処理していて文字列の先頭1文字を大文字/小文字に変換する方法をメモ。

先頭大文字は標準のcapitalizeメソッドで

先頭大文字化は標準でcapitalize()というメソッドがStringクラスに用意されているので、簡単に実現できる。

println "upperCase".capitalize()

出力結果

UpperCase

先頭小文字化はreplaceFirstと正規表現とクロージャで

先頭小文字化は残念ながら標準メソッドは用意されていないので、少々工夫する必要がある。
結論としては以下のコードで実現できる。

println "LowerCase".replaceFirst(".") { it.toLowerCase() }

出力結果

lowerCase

見れば分かると思うが、replaceFirstに正規表現パターンの”.”を指定することで前方一致の1文字目を対象とし、
それをクロージャでtoLowerCase()という標準の文字列全体の小文字化をすることで
先頭1文字目のみの小文字化を実現している。

まとめ

小文字化は標準関数がないのは残念だが、書き方がgroovyっぽくてなんかカッコいい。