在Ruby中,如何将ë,à,é,ä等特殊字符转换为e,a,e,a?

在Ruby中,如何将ë,à,é,ä等特殊字符转换为e,a,e,a?,第1张

概述我想将像ë这样的字符转换为简单的e.我希望转换语言以及人们如何键入城市.例如,大多数人在搜索时实际上键入了Brasilia,而不是Brasília.当像Rueters这样的新闻机构报道巴西利亚时,他们通常将其拼写为巴西利亚.所以再次,只是寻找任何宝石(或字符编码数学/方法可能更好,因为可以使用该答案,以供参考,在其他语言). 这只是为了处理典型的“扩展ASCII”字符集.注意:我正在使用标准的Un 我想将像ë这样的字符转换为简单的e.我希望转换语言以及人们如何键入城市.例如,大多数人在搜索时实际上键入了Brasilia,而不是Brasília.当像Rueters这样的新闻机构报道巴西利亚时,他们通常将其拼写为巴西利亚.所以再次,只是寻找任何宝石(或字符编码数学/方法可能更好,因为可以使用该答案,以供参考,在其他语言).

这只是为了处理典型的“扩展ASCII”字符集.注意:我正在使用标准的Unicode字符串.

解决方法 从 Ruby 2.2开始,有 String#unicode_normalize到 normalize个unicode字符串. NFKD表单分隔字符和标点符号:

'ë'.unicode_normalize(:nfkd).chars#=> ["e","̈"]#     ^    ^#   char  punctuation

由于该字符是有效的ASCII码点而标点符号不是,因此可以用它来删除后者:

'ë,à,é,ä'.unicode_normalize(:nfkd).encode('ASCII',replace: '')#=> "e,a,e,a"
总结

以上是内存溢出为你收集整理的在Ruby中,如何将ë,à,é,ä等特殊字符转换为e,a,e,a?全部内容,希望文章能够帮你解决在Ruby中,如何将ë,à,é,ä等特殊字符转换为e,a,e,a?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1262718.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存