在 PHP 中,可以使用函数将双角字符转换为单角字符mb_convert_kana
。他们称其为“将禅格转化为韩格”。例如,我有一个要转换的字符串:
dbl = "BOX"
我想找到一些这样的方法
dbl = "BOX".convert_to_half_width # dbl is now "BOX"
有没有办法在 Ruby 中做到这一点?
我使用 Ruby 内置NKF
和String#tr
require 'nkf'
dbl = "BOXカタカナ"
dbl = NKF.nkf('-X -w', dbl).tr('0-9a-zA-Z', '0-9a-zA-Z')
# dbl now is "BOXカタカナ"
这还具有将半角片假名转换为全角片假名的额外好处。
嗯,它不漂亮,它只适用于罗马字(可以扩展到处理其他字符)但它对我有用:
title = "BOX"
englishReplacements = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
japaneseReplacements = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
converted = title.tr(japaneseReplacements, englishReplacements)
# title is now "BOX"
有一个宝石:hz_on_fly