Java: how to check if character belongs to a specific unicode block?(Java:如何检查字符是否属于特定的 unicode 块?)
问题描述
我需要确定我的输入属于哪种自然语言.目标是区分混合输入中的 阿拉伯语 和 英语 单词,其中输入是 Unicode 并从 XML 文本节点中提取.我注意到类 Character.UnicodeBlock
.和我的问题有关吗?我怎样才能让它工作?
I need to identify what natural language my input belongs to.
The goal is to distinguish between Arabic and English words in a mixed input, where the input is Unicode and is extracted from XML text nodes.
I have noticed the class Character.UnicodeBlock
. Is it related to my problem? How can I get it to work?
Character.UnicodeBlock
方法对阿拉伯语很有用,但显然不适用于英语(或其他欧洲语言),因为 BASIC_LATIN
Unicode 块涵盖符号和不可打印字符和字母.所以现在我使用 String
对象的 matches()
方法和正则表达式 "[A-Za-z]+"
代替.我可以忍受它,但也许有人可以提出更好/更快的方法.
The Character.UnicodeBlock
approach was useful for Arabic, but apparently doesn't do it for English (or other European languages) because the BASIC_LATIN
Unicode block covers symbols and non-printable characters as well as letters.
So now I am using the matches()
method of the String
object with the regex expression "[A-Za-z]+"
instead. I can live with it, but perhaps someone can suggest a nicer/faster way.
推荐答案
是的,你可以简单地使用 Character.UnicodeBlock.of(char)
Yes, you can simply use Character.UnicodeBlock.of(char)
这篇关于Java:如何检查字符是否属于特定的 unicode 块?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Java:如何检查字符是否属于特定的 unicode 块?


- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01
- 获取数字的最后一位 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- 转换 ldap 日期 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01