Мне нужно определить, к какому естественному языку принадлежит мой вход.
Цель состоит в том, чтобы различать слова на арабском и английском языках на смешанном входе, где вход является Unicode и извлекается из текстовых узлов XML.
Я заметил класс Character.UnicodeBlock
. Это связано с моей проблемой? Как я могу заставить его работать?
Edit: Подход Character.UnicodeBlock
был полезен для арабского языка, но, по-видимому, он не делает его для английского (или других европейских языков), потому что блок BASIC_LATIN
Unicode охватывает символы и символы, не подлежащие печати, а также буквы.
Итак, теперь я использую метод matches()
объекта String
с выражением regex "[A-Za-z]+"
. Я могу жить с ним, но, возможно, кто-то может предложить более удобный и быстрый способ.