当前位置: 首页 > 面试题库 >

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

凤安然
2023-03-14
问题内容

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

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。(在应用双引号解决方案之前''



 类似资料:
  • 我正在尝试创建一个主屏幕有三个按钮的Android应用程序。我使用的是Eclipse程序,它自动给按钮一个水平线性布局。我想要一个垂直的直线布局。虽然用XML编码和格式化按钮更容易,但我真的希望我的所有代码都是Java的。我已经在几个网站上寻找如何在Java中格式化重力和重量等参数的指导,但我被卡住了。以下是我发现的一些例子: http://docs.oracle.com/javase/tutor

  • 本文向大家介绍Java中的MessageFormat.format用法实例,包括了Java中的MessageFormat.format用法实例的使用技巧和注意事项,需要的朋友参考一下 MessageFormat本身与语言环境无关,而与用户提供给MessageFormat的模式和用于已插入参数的子格式模式有关,以生成适用于不同语言环境的消息。 MessageFormat模式(主要部分): 还以str

  • 问题内容: 有什么方法可以使用正则表达式将字符串格式化为特定模式,还是stringbuilder +子字符串是一种更快的方法? 例如,说出电话号码-> 1234567890作为输入 并输出为->(123)456-7890 我看到有可能在这篇文章上:http : //www.4guysfromrolla.com/webtech/031302-1.shtml,但给出的解释在ASP中。我如何用Java做

  • 我正在创建一个iOS应用程序,对于推送通知,我们正在使用亚马逊的简单通知服务(SNS)。 SNS很棒,但文档非常稀少。我正在使用亚马逊的Python库boto,我已经知道了如何发送纯文本推送通知: 但是,留档中不清楚的是如何创建Apple推送通知服务(APNS)消息。我需要随消息推送一起发送声音和徽章,但不知道如何为消息格式化JSON。 以下是我迄今为止最好的猜测: 不过,当我运行这段代码时,我在

  • 本文向大家介绍java中使用xls格式化xml的实例,包括了java中使用xls格式化xml的实例的使用技巧和注意事项,需要的朋友参考一下 在java中调用xls格式化xml 使用javax.xml.transform.Transformer,将xml用xls格式化为另一种xml 输入为xml字符串,输出也为xml字符串,代码模板如下: Java代码  感谢阅读,希望能帮助到大家,谢谢大家对本站的

  • 问题内容: 我有这个简单的代码: 然后我将得到以下异常: 如何解决这个问题? 问题答案: 是没有时区的日期时间。您以格式指定了时区偏移格式符号,但是没有此类信息。这就是为什么发生错误。 如果您需要时区信息,请使用。