在字符串中测试日文/中文字符

lan*_*man 6 string unicode language-detection

我有一个程序可以读取一堆文本并对其进行分析.文本可能是任何语言,但我需要测试日语和中文,以不同的方式分析它们.

我已经读过,我可以测试它上面的每个字符的unicode数字,看看它是否在CJK字符范围内.这很有帮助,但是如果可能的话,我想将它们分开来处理针对不同字典的文本.有没有办法测试角色是日文还是中文?

Eli*_*jah 6

由于Unicode标准中实现unihan代码点的方式,您将无法测试单个字符以确定它是日语或中文.基本上,每个汉字都是潜在的日本人物.然而,反之则不然.此外,还有许多约定可用于测试文本是使用一种语言还是另一种语言.

  1. 简化 - 如果您正在测试的角色是中国简化,例如门,则只能在中国的主要土地上使用.
  2. 假名 - 如果角色是许多日本假名字符之一,如あいうえお,那么你正在使用的文本块肯定是日语.

问题出现在于大量的字符和单词的共同点.但是,如果我需要一个快速而肮脏的解决方案来解决这个问题,我会检查我的整个文本块为假名 - 如果文本包含假名,那么我知道它是日语.如果你需要区分韩语,我会测试韩语.此外,如果您需要区分什么类型的中文,测试简化类型将是最好的方法.