commons-langでゼロパディングする--commons-langの便利メソッド

山崎良
2008-08-04 13:00:00
  • このエントリーをはてなブックマークに追加

 前回までは判定メソッドを扱ってきたが、今回は文字列を生成するメソッド「leftPad」を紹介したい。これを利用すると、commons-langで固定長の文字列を簡単に生成することができる。

StringUtils#leftPad

 StringUtils#leftPadメソッドの処理内容については例を示すのが早いだろう。

System.out.println( StringUtils.leftPad("123",7,'0') );

 実行結果は、

"0000123"

 となる。

 StringUtils#leftPadメソッドは、「第1引数で指定した文字列」を、「第2引数で指定した桁数」になるように、「第3引数で指定した文字」で、「固定長の文字列」に変換する、というもの。

 このように0(ゼロ)を付加して固定長の文字列にすることを「ゼロパディング」という。

 筆者の経験では「伝票番号」などのために、固定長の文字列を生成する際にこのメソッドを使う機会がしばしばあった。

 そのほかの動作例については以下を参考にしてほしい。

  • StringUtils.leftPad(null,7,'0') = null
    →第1引数がnullの場合は結果もnull。
  • StringUtils.leftPad("123",7,"0") = "0000123"
    →第3引数に文字列を指定することもできる。
  • StringUtils.leftPad("123",7,"01") = "0101123"
    →第3引数を文字列で指定する場合は1文字でなくても良い。
  • StringUtils.leftPad("123",7,"ABCDEFGHI") = "ABCD123"
    →第3引数に長い文字列を指定した場合先頭から必要な分だけ使われる。
  • StringUtils.leftPad("123",7,"") = "    123"
    →第3引数に空文字を指定した場合半角スペースを指定したものとして扱われる。
  • StringUtils.leftPad("123",7,null) = "    123"
    →第3引数にnullを指定した場合半角スペースを指定したものとして扱われる。
  • StringUtils.leftPad("123",7) = "    123"
    →第3引数を指定しなかった場合半角スペースを指定したものとして扱われる。
  • コメント(1件)
#1 thesecret   2008-08-06 11:06:22
便利は便利だろうけど、この程度の便利さだと2分で書いて「自分ライブラリ」で終わらせちゃうのではなかろうか。
  • 新着記事
  • 特集
  • ブログ