スペースで区切られた数字をグループ化してクレジット カード番号をフォーマットしたい
たとえば、5112345112345114 は、5112 3451 1234 5114 のようにフォーマットする必要があります。
マスクを指定して、数字をレンダリングしたいと思います。たとえば、「#### #### #### ####」は 16 桁のクレジット カード番号です。Amex (15 桁) の場合、「#### ###### #####」のようになります。番号がまだ完全に利用できない場合 (カード所有者が入力したため)、左側からマスクにレンダリングする必要があります。
これを行うためのライブラリや Java の API はありますか? java.text.MessageFormat を見ましたが、文字列を分割する方法が見つかりませんでした。.net にはそのための API があるようです: String.Format("{0:0000 0000 0000 0000}", number)。