提问人:Miguel Ike 提问时间:10/25/2023 最后编辑:Miguel Ike 更新时间:10/26/2023 访问量:41
在 Java 中,有没有办法检测名称是汉字还是中文?
In Java, is there a way to detect if a name is Kanji or Chinese?
问:
我一直在试图弄清楚如何正确音译汉字名称和中文名称。我尝试使用 ICU4J,但汉字正在被音译为中文版本。
例: 佐藤健是一个用汉字写成的名字,相当于根据谷歌翻译的Satōtakeru或Ken Sato
当我在谷歌上搜索这个名字时,它显示佐藤健。
当我将 ICU4J 与以下代码一起使用时:
final String icuInstanceId = "Any-Latin; [^\\u0000-\\u00FF] Latin-ASCII";
final Transliterator transliterator = Transliterator.getInstance(icuInstanceId)
transliterator.transform("佐藤健")
这将返回“zuo téng jiàn”
我能够首先使用Kuromoji正确音译汉字名称,然后使用ICU4J,但问题仍然存在于如何区分汉字和中文名称。
我也尝试过 lingua,但它仍然将汉字名称检测为中文。
final LanguageDetector detector = LanguageDetectorBuilder.fromLanguages(CHINESE, JAPANESE).build();
final Language detectedLanguage = detector.detectLanguageOf("佐藤健");
答: 暂无答案
评论