Tôi cần phải xác định ngôn ngữ tự nhiên mà đầu vào của tôi thuộc về. Mục đích là để phân biệt giữa các từ tiếng Ả Rập và tiếng Anh trong đầu vào hỗn hợp, trong đó đầu vào là Unicode và được trích xuất từ các nút văn bản XML. Tôi đã nhận thấy lớp học Character.UnicodeBlock
. Nó có liên quan đến vấn đề của tôi không? Làm thế nào tôi có thể làm cho nó hoạt động?Java: làm thế nào để kiểm tra xem ký tự thuộc về một khối unicode cụ thể?
Edit: Các Character.UnicodeBlock
cách tiếp cận là hữu ích cho tiếng Ả Rập, nhưng dường như không làm điều đó cho tiếng Anh (hoặc các ngôn ngữ châu Âu khác) vì BASIC_LATIN
Unicode khối bao gồm các biểu tượng và ký tự không in cũng như các chữ cái. Vì vậy, bây giờ tôi đang sử dụng phương pháp matches()
của đối tượng String
với biểu thức chính quy "[A-Za-z]+"
thay thế. Tôi có thể sống với nó, nhưng có lẽ ai đó có thể đề xuất một cách tốt hơn/nhanh hơn.