我有一个简单的字符串,我需要插入一些数字和字符串。
Say String a =“我的名字是%s。我已经%d岁了。”
我还需要在其中几个孔中插入相同的数字或字符串。 我需要一个解决方案,适用于java的古老版本至少1.3 我知道String.format(JDK 5+)。我读到格式化程序,我的头疼!!!
请帮忙。
答案 0 :(得分:2)
您唯一的选择是在这里使用MessageFormat
。
你输入:
String s = "My name is {0}. I am {1} years old";
并使用适当的方法将其呈现为字符串。例如:
String ret = MessageFormat.format(s, "John", 32);
我想给javadoc添加一个链接,但是......我不知道自1.3以来发生了多大的变化! (好吧,链接补充说,它不会伤害)
(应该注意的是,即使在2013年,Java的ResourceBundle
s 仍然使用MessageFormat
并读取ISO-8859-1中的属性文件,而不是UTF-8)
答案 1 :(得分:1)
这个怎么样
String text = "The user {0} has email address {1}."
String msg = MessageFormat.format(text, params);
还有这个
String text = "The user {name} has email address {email}.";
Object[] params = { "nameRobert", "rhume55@gmail.com" };
Map map = new HashMap();
map.put("name", "Robert");
map.put("email", "rhume55@gmail.com");
System.out.println("1st : " + MapFormat.format(text, map));