我有類似:如何使用參數名稱而不是數字格式化消息?
String text = "The user {0} has email address {1}."
// params = { "Robert", "[email protected]" }
String msg = MessageFormat.format(text, params);
這並不是非常適合我,因爲我有時譯者不知道什麼那張{0}和{1},也將是不錯的能改寫消息而不用擔心參數的順序。
我想用可讀名稱而不是數字替換參數。類似這樣的:
String text = "The user {USERNAME} has email address {EMAILADDRESS}."
// Map map = new HashMap(... [USERNAME="Robert", EMAILADDRESS="[email protected]"]
String msg = MessageFormat.format(text, map);
有沒有簡單的方法來做到這一點?
謝謝! rob
Commons Lang有StrSubstitutor – Ramon 2011-03-28 19:01:54
我可能是錯的,但看起來像[JTPL](http://jtpl.sourceforge.net/)可以幫助你。 – Nishant 2011-03-28 19:04:59
相關:http://stackoverflow.com/q/2286648/435605 – 2016-01-18 10:37:23