使用Java将String中的大写文本转换为带重音的小写

Posted

技术标签:

【中文标题】使用Java将String中的大写文本转换为带重音的小写【英文标题】:Turn Capitalize text into Lower case with accent in String with Java 【发布时间】:2021-03-03 18:31:35 【问题描述】:

在一个字符串中,有没有办法在Java中找到一个应该包含重音的大写单词并将其转换为带有重音的小写形式。这是一个例子。

 string = "Bonjour ceci est un PRELEVEMENT de votre banque CIC."
 result = "Bonjour ceci est un prélèvement de votre banque CIC."

是否有可以解决此问题的自动更正功能?我想避免使用带有重音词的字典。

【问题讨论】:

【参考方案1】:

没有字典就没有办法做到这一点。 E 中的 E 只是一个 E,而不是一个特殊字符,意思是“大写的 e-acute 和隐藏的急性”(你可以检查 unicode 表;没有这样的东西)。它只是.. E - unicode 符号 69。如果不在某种字典或其他映射中查找“prelevement”,就无法从中得到 é 或 è。

但请注意,android 设备(假设设备所有者已选择法语词典)附带一个拼写检查器,您的 api 可以通过 text servicesAPI 直接访问该检查器.我假设通过拼写检查器折腾 PRELEVEMENT 会让你得到 prelèvement。确保在创建会话时为“locale”参数传递Locale.FR

【讨论】:

以上是关于使用Java将String中的大写文本转换为带重音的小写的主要内容,如果未能解决你的问题,请参考以下文章

使用 .NET 如何将包含 Latin-1 重音字符的 ISO 8859-1 编码文本文件转换为 UTF-8

使用java将重音字符转换为英文

有没有办法突出显示崇高文本或任何其他文本编辑器中的所有特殊重音字符?

java大小写转换

如何避免 Gson 将 JsonString 中的 int long 等数字转化为带小数的 Double

java字符转换