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

山崎良
2008/08/04 13:00

作らなくてもいいモノを作っていませんか?――commons-langの便利メソッドを紹介する本連載の第6回。今回はStringUtilsのメソッド「leftPad」を扱ってみよう。

 前回までは判定メソッドを扱ってきたが、今回は文字列を生成するメソッド「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分で書いて「自分ライブ... 続きを見る
» 不適切なコメントを報告する
記事の感想やご意見をコメントでお寄せください(CNET_IDログインが必要です)
ログイン パスワードを忘れた方  |  新規登録
  • 今日のトップ記事
  • 3日前
  • 4日前
  • 5日前
  • 6日前
  • 7日前
  • 新着記事
  • 人気記事
  • 特集
  • ブログ