在Java中使用MessageFormat.format()格式化消息

我已经在资源束中存储了一些消息。我正在尝试按以下格式设置这些消息。

import java.text.MessageFormat;

String text = MessageFormat.format("You're about to delete {0} rows.", 5);

System.out.println(text);

假设第一个参数(即实际消息)存储在以某种方式检索到的属性文件中。

第二个参数(即5)是一个动态值,应放置在{0}不会发生的占位符中。下一行打印,

您即将删除{0}行。

占位符不会替换为实际参数。


这里是撇号- You're。我试图像往常一样逃避它,You\\'re尽管它没有用。需要进行哪些更改才能使其正常工作?

回答:

'MessageFormat模式添加多余的撇号以String确保'显示字符

String text = 

java.text.MessageFormat.format("You''re about to delete {0} rows.", 5);

^

MessageFormat模式中的撇号(也称为 单引号

)以引号引起来的字符串开头,并且不能自行解释。从javadoc

在整个字符串中,单引号本身必须用双引号’‘表示。

String

You\\'re等效于将一个反斜线字符到String所以唯一的区别是You\re将产生,而不是Youre。(在应用双引号解决方案之前''

以上是 在Java中使用MessageFormat.format()格式化消息 的全部内容, 来源链接: utcz.com/qa/430747.html

回到顶部