0

我有一个简单的字符串,我需要在其中插入一些数字和字符串。

说 String a = "我的名字是 %s。我今年 %d 岁"。

我还需要在其中几个孔中插入相同的数字或字符串。我需要一个适用于至少 1.3 的古代 java 版本的解决方案,我知道 String.format (JDK 5+)。我读到格式化程序,我的头疼!

请帮忙。

4

2 回答 2

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仍然使用MessageFormat读取 ISO-8859-1 中的属性文件,而不是 UTF-8)

于 2013-06-10T21:35:53.757 回答
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));
于 2013-06-10T21:36:48.150 回答