Pan*_*edi 1 java replace placeholder messageformat illegalargumentexception
我有一个像下面这样的字符串.
ABC {一位知名的魔术师}将在{0}的{1}小时内进行表演.
第一对花括号没有占位符.当我将此字符串传递给MessageFormat.format(String,Object [])方法时,如果对象数组包含两个字符串来替换占位符{0}和{1},则会出现以下错误.
java.lang.IllegalArgumentException:所有参数标识符必须是非负数或模式后面的字符串([:ID_Start:] [:ID_Continue:]*).
看来第一对括号正在为第一个占位符进行解析,因为它不是有效占位符,所以会发生错误.
如何告诉MessageFormat.format忽略第一对花括号并与其他两个花括号一起使用?
在您不希望被视为参数占位符的部分周围放置一对单引号.即
ABC '{A WELL-KNOWN MAGICIAN}' WILL PERFORM AT {0} FOR {1} HOURS.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3356 次 |
| 最近记录: |