You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Intl MessageFormat的引号解析行为以实现预期输出?

问题解答

Intl MessageFormat 遵循 ICU MessageFormat 标准语法,无法直接修改引号的解析行为——单引号的核心作用就是转义花括号等特殊语法字符,避免其被解析为变量或指令。

要实现你预期的「变量值被单引号包裹」的效果,只需调整消息字符串的写法,推荐以下标准方式:

正确写法示例

const msg = new IntlMessageFormat("Email: ''{email}''").format({email: "test@email.com"})
// 输出结果:Email: 'test@email.com'

原理说明

在 ICU 语法中,两个连续的单引号''会被解析为一个字面量单引号,而未被单引号包裹的{email}会正常识别为变量并替换。

你之前的写法"Email: '{email}'"之所以输出Email: {email},是因为单引号包裹了{email},触发了语法转义规则,这部分内容被当作纯文本字面量处理,不会解析变量。

内容的提问来源于stack exchange,提问作者skizzo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:40:17