我有一个像下面这样的字符串。
ABC{一个著名的魔术师}将在{0}表演{1}小时。
第一对花括号没有占位符。当我把这个字符串传递给MessageFormat。format(String, Object[])方法,使用包含两个字符串的对象数组来替换占位符{0}和{1},我得到以下错误:
. lang。IllegalArgumentException:所有参数标识符必须是非负数或遵循模式([:ID_Start:] [:ID_Continue:]*)的字符串。
似乎第一对大括号正在为第一个占位符解析,由于它不是一个有效的占位符,因此发生错误。
如何告诉MessageFormat。格式忽略第一对花括号并使用其他两个?
在不希望被视为参数占位符的部分周围加上一对单引号。例如
ABC '{A WELL-KNOWN MAGICIAN}' WILL PERFORM AT {0} FOR {1} HOURS.