groovyで文字列の先頭大文字/小文字変換
groovyでテキスト処理していて文字列の先頭1文字を大文字/小文字に変換する方法をメモ。
先頭大文字は標準のcapitalizeメソッドで
先頭大文字化は標準でcapitalize()というメソッドがStringクラスに用意されているので、簡単に実現できる。
println "upperCase".capitalize()
出力結果
UpperCase
先頭小文字化はreplaceFirstと正規表現とクロージャで
先頭小文字化は残念ながら標準メソッドは用意されていないので、少々工夫する必要がある。
結論としては以下のコードで実現できる。
println "LowerCase".replaceFirst(".") { it.toLowerCase() }
出力結果
lowerCase
見れば分かると思うが、replaceFirstに正規表現パターンの”.”を指定することで前方一致の1文字目を対象とし、
それをクロージャでtoLowerCase()という標準の文字列全体の小文字化をすることで
先頭1文字目のみの小文字化を実現している。
まとめ
小文字化は標準関数がないのは残念だが、書き方がgroovyっぽくてなんかカッコいい。