使用Natto gem(Mecab)将日本汉字转换为假名

时间:2013-11-17 09:29:37

标签: ruby mecab

使用纳豆宝石(MeCab)是否可以将混合的片假名/平假名/汉字/阿尔法字符串转换为片假名/平假名/阿尔法? (即转换汉字)。

例如,我需要转换此文字:

日本語だぜ、これが。 これはカタカナである。 こいつはEnglish alphabet charsなのです。 ABC123てのは全角英数字です。

进入这个:

にほんごだぜ、これが。これはカタカナである。こいつはEnglishalphabetcharsなのです。ABC123てのはぜんかくえいすーじです。

谢谢!

1 个答案:

答案 0 :(得分:5)

此处natto rubygem的作者。感谢您使用纳豆!

如果我理解你的问题,你只想将汉字字符转换成相应的平假名(假名)字符。 Ruby扩展库NKF允许您将片假名转换为平假名,并且由于MeCab yomi默认返回为片假名,您可以将natto和NKF组合为仅转换汉字的yomi读数,留下其他字符(平假名,片假名,完整 - 和/或半宽字符)。

关键是使用natto对输入进行节点解析,并检查每个MeCab节点的char类型值。如果节点的char类型值为2,则对应于汉字节点。然后,您可以从MeCab节点获取片假名yomi值,然后使用NKF to convert the katakana yomi into hiragana

我刚刚提出example on the natto wiki

希望有所帮助!