gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 20:29:45 26 4
gpt4 key购买 nike

我在资源包中存储了一些消息。我正在尝试将这些消息格式化如下。

import java.text.MessageFormat;

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

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

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

Youre about to delete {0} rows.

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


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

最佳答案

MessageFormat 模式 String 中添加一个额外的撇号 ' 以确保显示 ' 字符

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

MessageFormat 模式中的撇号(又名单引号)以带引号的字符串开头,并且不会自行解释。来自 javadoc

A single quote itself must be represented by doubled single quotes '' throughout a String.

String You\\'re 相当于在 String 中添加反斜杠字符,所以唯一的区别是 You\re 将产生而不是 Youre。 (在应用双引号解决方案 '' 之前)

关于java - 在 Java 中使用 MessageFormat.format() 格式化消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17569608/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com