2

有人可以告诉我什么是类似于 python 格式方法的 java 方法,我可以用我自己的方法替换字符串中的变量 ?holder 吗?

例如:

    t1 = "test"
    t2 = "example"
    "This is a {0} test {1}".format(t1, t2)

谢谢

4

4 回答 4

4

您可以像这样格式化字符串:

String t1 = "test1";
String t2 = "test2";
String.format("This is a %s test %s",  t1, t2);

符号后面可以有不同的符号%,请查看此文档:

http://docs.oracle.com/javase/6/docs/api/java/util/Formatter.html

于 2013-11-10T01:02:39.927 回答
3

来自 Javadoc:http ://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html

   // Explicit argument indices may be used to re-order output.
   formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
   // -> " d  c  b  a"

是什么%4$2s意思?

  • %:格式化字符串的开始
  • 4$:第四个参数
  • 2:宽度为 2
  • s:字符串
于 2013-11-10T01:03:19.990 回答
1

利用java.util.MesssageFormat

int planet = 7;
String event = "a disturbance in the Force";

String result = MessageFormat.format(
    "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
    planet, new Date(), event);
于 2013-11-10T01:03:17.023 回答
0

您可以MessageFormat为此使用该类,但更简单且不那么冗长的方法将只使用以下代码:

"This is a " + t1 + " test " + t2

如果您需要良好的格式化功能,您可以使用String.format

String.format("This is a %s test %s", t1, t2);
于 2013-11-10T01:02:59.083 回答