テキストのフォーマット(置換?)

ちょっと便利な文字列操作です。

MessageFormat messageFormat = new MessageFormat("フォーマットの{0}");
System.out.println(messageFormat.format(new Object[] { "サンプルです" }));

を実行すると、「フォーマットのサンプルです」と表示されます。
ちなみに、フォーマットというだけあって

MessageFormat messageFormat = new MessageFormat("今日は{0, date, yyyy/MM/dd}");
System.out.println(format.format(new Object[] { new Date() }));

を実行すると、「今日は2008/06/09」と表示されます。
んーちょっと便利ですけど、あんまり性能はよろしくないようなので
性能を求める場合、StringBufferとかでごりごり文字列連結する方がいいと思われ。

ちなみに、
new MessageFormat("フォーマットの{0}'{'0'}'");
のように{をシングルクォーテーションで囲んでやれば{と}を文字列として扱えます。

0 コメント: