gpt4 book ai didi

java - 如何在 MessageFormat 中使用单引号

转载 作者:搜寻专家 更新时间:2023-11-01 03:33:56 40 4
gpt4 key购买 nike

在我当前的项目中,我们使用字符串的属性文件。然后使用 MessageFormat 对这些字符串进行“格式化”。不幸的是,MessagFormat 对单引号的处理在使用大量撇号的语言(例如法语)中成为一个障碍。

例如,假设我们有这个条目

login.userUnknown=User {0} does not exist

当这被翻译成法语时,我们得到:

login.userUnknown=L'utilisateur {0} n'existe pas

这个,MessageFormat不喜欢...

而我,不喜欢以下内容,即必须使用双引号:

login.userUnknown=L''utilisateur {0} n''existe pas

我不喜欢它的原因是它到处都会导致拼写检查错误。

问题:我正在寻找下面指令的替代方法,一种不需要双引号但仍使用位置占位符({0}、{1}…)的替代方法。还有什么我可以使用的吗?

MessageFormat.format(Messages.getString("login.userUnkown"), username);

最佳答案

不,没有其他方法,因为根据 javadoc 我们应该这样做。

A single quote itself must be represented by doubled single quotes '' throughout a String

作为解决方法,您可以使用 replace("'", "''") 以编程方式执行此操作,或者对于此特定用例,您可以使用撇号字符代替 ' 实际上比使用单引号更正确。

关于java - 如何在 MessageFormat 中使用单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37920973/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com