Ich muss identifizieren, welche natürliche Sprache meine Eingabe gehört. Das Ziel ist, zwischen Arabisch und Englisch Wörter in einer gemischten Eingabe zu unterscheiden, wobei die Eingabe Unicode ist und aus XML-Textknoten extrahiert wird. Ich habe die Klasse Character.UnicodeBlock
bemerkt. Ist es mit meinem Problem verbunden? Wie kann ich es zur Arbeit bringen?Java: Wie überprüft man, ob ein Zeichen zu einem bestimmten Unicode-Block gehört?
Edit: Die Character.UnicodeBlock
Ansatz war nützlich für Arabisch, aber anscheinend nicht für Englisch macht (oder andere europäische Sprachen), weil der BASIC_LATIN
Unicode Block Symbole und nicht druckbare Zeichen sowie Buchstaben bedeckt. So jetzt verwende ich die matches()
Methode des String
Objekts mit dem Regex Ausdruck "[A-Za-z]+"
stattdessen. Ich kann damit leben, aber vielleicht kann jemand einen schöneren/schnelleren Weg vorschlagen. Ja