如何转义MessageFormat模式字符串中的{字符



我有一个像下面这样的字符串。

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.

相关内容

  • 没有找到相关文章

最新更新