我在我的 strings.xml 文件中定义了一个字符串:
<string name="unformatted_string">Here\'s a song I\'ve created just for you\! {0}</string>
然后我获取该字符串并使用 MessageFormat.format,将 {0} 替换为 URL:
String str = MessageFormat.format(getString(R.string.unformatted_string), url);
当我打印 str 时,我看到:
Heres a song Ive created just for you http://www.google.com
MessageFormat 文档指出引号的规则有些混乱,然后继续提供仅使用双引号的单个示例。从我对文档的阅读来看,我的单引号问题似乎可以通过使用'''来解决:
<string name="unformatted_string">Here'''s a song I'''ve created just for you\! {0}</string>
但是 Android 资源打包步骤会引发错误,因为我有一个撇号,前面没有\
.
我唯一的要求是在 strings.xml 中定义字符串(以支持本地化)。