我正在尝试使用MessageFormat类在
java中格式化String. String包含位置字段,但只有在我提供字段编号时才有效.例如
MessageFormat.format(“{0} {1}”,“Hi”,“Java”)可以正常工作
MessageFormat.format(“{} {}”,“嗨”,“Java”)给出
Exception in thread "main" java.lang.IllegalArgumentException: can't parse argument number:
at java.text.MessageFormat.makeFormat(MessageFormat.java:1429)
at java.text.MessageFormat.applyPattern(MessageFormat.java:479)
at java.text.MessageFormat.(MessageFormat.java:362)
at java.text.MessageFormat.format(MessageFormat.java:840)
at controller.App.main(App.java:11)
Caused by: java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at java.text.MessageFormat.makeFormat(MessageFormat.java:1427)
有没有办法(任何其他类或库),它可以处理像python一样的自动和手动字段编号?
In [3]: print "{} {}".format("Hi", "Java")
Hi Java
In [4]: print "{0} {1}".format("Hi", "Java")
Hi Java