使用纳豆宝石(MeCab)是否可以将混合的片假名/平假名/汉字/阿尔法字符串转换为片假名/平假名/阿尔法? (即转换汉字)。
例如,我需要转换此文字:
日本語だぜ、これが。
これはカタカナである。
こいつはEnglish alphabet charsなのです。
ABC123てのは全角英数字です。
进入这个:
にほんごだぜ、これが。これはカタカナである。こいつはEnglishalphabetcharsなのです。ABC123てのはぜんかくえいすーじです。
谢谢!
答案 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。
希望有所帮助!