Java即时字符串替换

时间:2011-11-18 15:49:36

标签: java string replace

我在代码

中看到过类似的内容
somestring = "Today is {0}, tomorrow is {1}";

我知道它会将值从另一个变量放入字符串中,但我该怎么做?

更新:有几种方法可以达到这种效果,哪种方式最有效?

4 个答案:

答案 0 :(得分:8)

您是否看过MessageFormat文档?

e.g。 (例子)

 Object[] arguments = {
     new Integer(7),
     new Date(System.currentTimeMillis()),
     "a disturbance in the Force"
 };

 String result = MessageFormat.format(
     "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
     arguments);

 output: At 12:30 PM on Jul 3, 2053, there was a disturbance
           in the Force on planet 7.

关于你的问题。效率,如果遇到性能问题,我只会担心这个问题。我希望上述内容合理有效 - 特别是考虑到可能会有一些输出(标准输出或类似?),我认为这是一个更大的瓶颈。

答案 1 :(得分:5)

// Assuming variables today and tomorrow are strings.
somestring = String.format("Today is %s, tomorrow is %s", today, tomorrow);

答案 2 :(得分:0)

您可以使用java.text.MessageFormat类

答案 3 :(得分:0)

我认为你的例子特别是使用java.text.MessageFormat。