Necesito identificar a qué idioma natural pertenece mi entrada. El objetivo es distinguir entre árabe y inglés palabras en una entrada mixta, donde la entrada es Unicode y se extrae de los nodos de texto XML. He notado la clase Character.UnicodeBlock
. ¿Está relacionado con mi problema? ¿Cómo puedo hacer que funcione?Java: cómo comprobar si el carácter pertenece a un bloque Unicode específico?
Editar: El Character.UnicodeBlock
enfoque era útil para el árabe, pero al parecer no lo hace para Inglés (u otros idiomas europeos) debido a que el bloque de Unicode BASIC_LATIN
cubre símbolos y caracteres no imprimibles, así como letras. Así que ahora estoy usando el método matches()
del objeto String
con la expresión de expresiones regulares "[A-Za-z]+"
en su lugar. Puedo vivir con eso, pero tal vez alguien pueda sugerir una manera mejor/más rápida.