java - 包含单引号时 MessageFormat 不格式化

标签 java

我传递的文本是 {} 填充符和文本的组合。我正在尝试用一些值填充 {} 并尝试使用 MessageFormat。

String sss = "{0}SomeText{1}\'.{2}SomeText{2}SomeText{0}{0}SomeText{2}{0}SomeText{0}{1}SomeText{0}{2}{0}{0}{1}{0}{2}{0}{0}{2}{0}{0}{1}{0}{2}{0}";

Object[] testArgs = {"nits1", "Nits2","nits#"};

System.out.println(MessageFormat.format(sss,testArgs));

输出

nits1SomeTextNits2.{2}SomeText{2}SomeText{0}{0}SomeText{2}{0}SomeText{0}{1}SomeText{0}{2}{0}{0}{1}{0}{2}{0}{0}{2}{0}{0}{1}{0}{2}{0}

最佳答案

单引号必须使用双单引号进行转义:

String sss = "{0}SomeText{1}''.{2}S..."

关于java - 包含单引号时 MessageFormat 不格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10995725/

相关文章:

java - 使用 if 和 else 语句之外的字符串来设置字符串值

java - 重用可调用实例似乎可行。这可以吗?

java - 在 JSF (Primefaces) 中更新标签

Java - 多队列生产者消费者

java - 覆盖在非 Activity 类中不起作用

java - JSONArray 中元素的顺序

java - 如何将 Eclipse 工作区设置为 Windows 中的当前目录

java - java中网络字节顺序到主机字节顺序

java - 琐碎的转换

java - 忽略导入语句中的弃用类型警告