在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